References
+- AssemblyA 6.7.6643.0
+- AssemblyB
| \- AssemblyA 7.0.0.0
\- AssemblyC
\- AssemblyA 7.0.0.0
AssemblyB和AssemblyC是NuGet引用,没有降级。由于我控制之外的情况,升级AssemblyA不是一个选项。但我收到了这个警告:
在"AssemblyA"的不同版本之间发现冲突,无法解决这些引用冲突,当日志详细度设置为详细时,这些引用冲突会在构建日志中列出。
所以我就按照提示操作,下面是输出结果:
"AssemblyA, Version=6.7.6643.0"和"AssemblyA, Version=7.0.0.0"之间存在冲突。 "AssemblyA, Version=6.7.6643.0"被选择是因为它是主要的,而"AssemblyA, Version=7.0.0.0"不是。 依赖于"AssemblyA, Version=6.7.6643.0"的引用 [AssemblyA.dll]。 AssemblyA.dll 引起"AssemblyA.dll"引用的项目文件项。 AssemblyA, Version=6.7.6643.0 依赖于"AssemblyA, Version=7.0.0.0"的引用 []。 AssemblyB.dll 引起"AssemblyB.dll"引用的项目文件项。 AssemblyB, Version=7.0.0.0 AssemblyC.dll 引起"AssemblyC.dll"引用的项目文件项。 AssemblyC, Version=9.0.0.0
它选择了我想要的版本,但我仍然在Visual Studio中收到警告。所以我更新了app.config绑定重定向,希望能消除警告:
<dependentAssembly>
<assemblyIdentity name="AssemblyA" publicKeyToken="..." culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="6.7.6643.0" />
</dependentAssembly>
但是警告仍然存在。我已经确认,如果我将AssemblyA升级到7.0.0.0,它会消除警告。但正如我之前所说,由于其他原因超出我的控制范围,我现在无法升级此程序集。
有没有办法仅针对这一特定实例抑制此警告?
谢谢