【发布时间】:2019-06-20 09:25:31
【问题描述】:
在一个项目中,我有以下参考布局:
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,版本=7.0.0.0”。 选择“AssemblyA, Version=6.7.6643.0”是因为它是主要的,而“AssemblyA, Version=7.0.0.0”不是。 依赖于“AssemblyA,Version=6.7.6643.0”[AssemblyA.dll] 的引用。 程序集A.dll 项目文件项包括导致引用“AssemblyA.dll”。 程序集A,版本=6.7.6643.0 依赖于“AssemblyA,Version=7.0.0.0”[] 的引用。 程序集B.dll 项目文件项包括导致引用“AssemblyB.dll”。 程序集B,版本=7.0.0.0 程序集C.dll 项目文件项包括导致引用“AssemblyC.dll”。 汇编C,版本=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,它会导致警告消失。但正如我之前所说,由于我无法控制的其他原因,我现在无法升级此程序集。
是否仅针对这一特定实例禁止显示此警告?
谢谢
【问题讨论】:
标签: .net visual-studio msbuild visual-studio-2017 visual-studio-express