如何将 System.Data.SQLite.dll 存储在子文件夹中?
我正在使用 Visual Studio 创建使用 SQLite 数据库的 C# 应用程序。 我想要做的是将 DLL 文件保存在名为“config”的子文件夹中。我在 bin/debug 文件夹中创建了 config 文件夹,并将 System.Data.SQLite.dll 文件复制到其中。 然后我使用 bin/debug/config/Systtem.Data.SQLite.dll 文件添加了对我的解决方案的引用。 问题是,每次我构建解决方案 VS 都会直接在 bin/debug 内创建新的 System.Data.SQLite.dll 文件,当我尝试使用我的应用程序时(删除 bin/debug/System.Data.SQLite.dll 后),它会抛出异常 = 它无法从配置文件夹内加载 dll... 我该如何解决?
I'm using Visual Studio to create C# application which uses SQLite database.
What I want to do is save DLL file in subfolder named 'config'. I've created config folder inside bin/debug folder and copied System.Data.SQLite.dll file into it.
Then I added Reference to my solution using bin/debug/config/Systtem.Data.SQLite.dll file.
The problem is that every time I build solution VS creates new System.Data.SQLite.dll file directly inside bin/debug and when I try to use my application (after deleting bin/debug/System.Data.SQLite.dll) it throws an exception = it cannot load dll from inside config folder...
How can I solve it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用从 EXE 目录加载的默认行为。
如果您确实不想这样做,请将引用上的
Copy Local
设置为 false,并通过调用Assembly.Load
自行加载 DLL。请注意,您需要在调用使用其类型的任何方法之前加载 DLL,以便在运行时 JIT 方法时已加载 DLL。
You ought to use the default behavior of loading from the EXE's directory.
If you really don't want to, set
Copy Local
to false on the reference and load the DLL yourself by callingAssembly.Load
.Note that you'll need to load the DLL before calling any methods that use its types so that the DLL is already loaded when the runtime JITs the methods.
以下是有关该主题的更多信息: http://msdn.microsoft.com/en -us/library/4191fzwb.aspx
Here's some more info on the topic: http://msdn.microsoft.com/en-us/library/4191fzwb.aspx