如何将 SQLite 库文件移动到 .NET 项目输出中的子目录?
How to move SQLite library files to subdirectory inside a .NET project ouput?
现在“x86”和“x64”文件夹是在 Release 文件夹的根目录下创建的,里面有“SQLite.Interop.dll”文件。 SQLite 库的其他 dll 文件也位于根目录中。如何将所有 SQLite 必要文件放入根目录中的子文件夹(例如 Release\SQLite)并确保一切正常?
这是 NuGet 包管理器将那些带有“SQLite.Interop.dll”文件的文件夹放在里面。我只是自己添加了对 SQLite 的引用,并没有包含“SQLite.Interop.dll”(没有它也能工作),在 false
上设置了一个 Copy Local
属性 的引用,这样它们不会复制到 bin 目录。然后我手动将库放在子目录中。之后,我只需要将 probing path 放在 App.config
中,这样运行时也会在指定的子目录中搜索程序集。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="MySubdirectory1;MySubdirectory2"/>
</assemblyBinding>
</runtime>
使用这种方法,应该手动将库复制到输出目录,但这值得将根目录清理干净。
现在“x86”和“x64”文件夹是在 Release 文件夹的根目录下创建的,里面有“SQLite.Interop.dll”文件。 SQLite 库的其他 dll 文件也位于根目录中。如何将所有 SQLite 必要文件放入根目录中的子文件夹(例如 Release\SQLite)并确保一切正常?
这是 NuGet 包管理器将那些带有“SQLite.Interop.dll”文件的文件夹放在里面。我只是自己添加了对 SQLite 的引用,并没有包含“SQLite.Interop.dll”(没有它也能工作),在 false
上设置了一个 Copy Local
属性 的引用,这样它们不会复制到 bin 目录。然后我手动将库放在子目录中。之后,我只需要将 probing path 放在 App.config
中,这样运行时也会在指定的子目录中搜索程序集。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="MySubdirectory1;MySubdirectory2"/>
</assemblyBinding>
</runtime>
使用这种方法,应该手动将库复制到输出目录,但这值得将根目录清理干净。