我有一个包含 2 个项目的解决方案:Proj1 和 Proj2,其中 Proj1 是启动项目。
Proj1 引用 Proj2(为了调用 Proj2 的类),并且它的现有代码还引用了一个名为 A 的第 3 方 DLL,版本为 1.0.0.0。
Proj2 引用了相同的第 3 方 DLL A,但它在 2.0.0.0 版本中引用它,因为该项目中的类需要更新的实现,而 1.0.0.0 中没有。
到目前为止,我已经尝试了以下操作: 1. 引用 A 时将“特定版本”切换为 true 2. 在 Proj2 中添加了一个名为“v2Folder”的文件夹,并向其中添加了 A v2.0.0.0,设置其“复制到输出目录” " 始终复制 3. 在 app.config 中添加了“探测路径”以指向带有 v2.0.0.0 DLL 的子文件夹
我想要的是在普通\bin\文件夹中看到A v1.0.0.0,在\bin\v2Folder中看到A v2.0.0.0,我希望当我运行我的Proj1.exe时,Proj1的旧代码仍然会调用A v1.0.0.0的方法,只有在调用Proj2实现的时候才调用A v2.0.0.0的方法。
问题是,当我构建我的解决方案时,v1.0.0.0 被 v2.0.0.0 取代,构建日志有类似“No way to resolve conflict between”A,Version=2.0.0.0,Culture=neutral, PublicKeyToken=blah”和“A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=blah”。任意选择“A, Version=2.0.0.0, Culture=neutral, PublicKeyToken=blah”。
有人可以帮忙吗?