选项1
您可以告诉您的应用程序,如果在引用中找不到,您将自己解决程序集。要做到这一点:
在您的应用程序的主要方法中附加程序集解析器:
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
确保您没有在 main 方法中使用动态解析的程序集。
您的解析器方法代码(这是您加载程序集的地方 - 查看 ResolveEventArgs 我刚刚硬编码了一个,但您可以在此处解析来自不同位置的各种程序集)
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
return Assembly.LoadFile(@"C:\temp\ClassLibrary1.dll");
}
选项 2
将此添加到您的 app.config(仅适用于应用程序基目录的子文件夹)
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="PathToMyAssemblies\" />
</assemblyBinding>
</runtime>