X <= nuget package A <= DLL version 1
X <= nuget package B <= DLL version 2
所以我的项目 X 引用了两个 3rd 方 nuget 包 A 和 B。两个包都引用了相同的 DLL,但版本不同。现在的问题似乎是在构建时,DLLv1 被 bin 文件夹中的 DLLv2 覆盖。并且在运行时,A 中的代码抱怨找不到 DLLv1。
我已经在 bin 文件夹中添加了一个程序集绑定配置文件以绑定到 DLLv2。但这似乎并没有改变什么。
这是一个使用 msbuild 构建的 CSharp 项目。
问题:
- AssemblyBinding 是解决这个问题的正确工具吗?
- 解决此问题的正确方法是什么?