我在同一个解决方案中有2个wcf项目。两者都引用libraryX,但使用不同的版本。部署时,两个服务都在同一个文件夹中,具有相同的bin文件夹,因此我遇到两个DLL都被称为libraryX.dll的问题。在内部,它们有不同的版本,所以我可以重命名一个的物理文件名吗?如果没有,最好的方法是什么?
答案 0 :(得分:1)
您可以尝试通过更改AppDomainSetup上的PrivateBinPath来为当前AppDomain设置RelativeSearchPath。
http://msdn.microsoft.com/en-us/library/system.appdomain.aspx
将较旧(或较新)的程序集文件移动到应用程序库下的子文件夹中。
所以有这样的结构: c:\ myapp \ bin [所有的curent文件] c:\ myapp \ bin \ older [旧库]
在代码中:
AppDomain.CurentDomain.SetupInformation.PrivateBinPath = "older";