.net - 从不同的文件夹加载 DLL 引用?

标签 .net dll reference

我有一个引用 DLL 的 .NET 控制台应用程序。如果 DLL 与 EXE 位于同一文件夹中,它运行良好,但我想将 DLL 放在不同的文件夹中。我怎样才能做到这一点?

最佳答案

如果 动态链接库 位于子文件夹中,您可以将此文件夹添加到 AppDomain private path .
AppDomain 的私有(private) bin 路径AppDomain 后无法更改已创建(AppDomain.AppendPrivatePath 已过时),如果您不想创建新的 AppDomain ,可以修改probing element在 App.config 中。

如果它不在子文件夹中,事情会变得更复杂,你可以load the assembly使用其完整路径,但如果它引用其他程序集,CLR 将无法解析依赖关系。

如果要解决依赖关系,可以向 AppDomain.AssemblyResolve 添加处理程序并在您的特定文件夹中获取所需的程序集。

另一种可能性是将此 DLL(和依赖项)放在 GAC 中。

关于.net - 从不同的文件夹加载 DLL 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2009047/

相关文章:

algorithm - 从其前序和后序列表中重建一棵树

c# - 双字结果的高​​效长乘法

c# - C# 中的 .NET Unreal Tournament 机器人 - 无法构建 Codeplex 代码

c# - Guid 全部为 0(零)?

.NET - 单击一次/智能客户端应用程序 - 浏览器 Cookie 等效项?

java - UnsatisfiedLinkError "Access is denied"即使完全控制

visual-studio - 在 Visual Studio 中复制 DLL 的依赖项

使用 Microsoft Visual Studio 在 Windows 64 位上为 PostgreSQL 数据库创建 C 函数 dll

ajax - Microsoft.Ajax.Utilities dll : Missing Assembly, 从哪里下载?

C++ 结构/vector 编译问题