在一个项目中,我有以下参考布局:
References
+- AssemblyA 6.7.6643.0
+- AssemblyB
| \- AssemblyA 7.0.0.0
\- AssemblyC
\- AssemblyA 7.0.0.0
AssemblyB 和 AssemblyC 是没有降级的 NuGet 引用。由于我无法控制的情况,升级 AssemblyA 不是一个选择。但我收到这个警告:
发现不同版本的“AssemblyA”之间可能存在冲突
得不到解决。这些引用冲突在构建中列出
当日志详细程度设置为详细时记录。
所以我就这样做了,这就是输出:
“AssemblyA,版本=6.7.6643.0”和
“程序集A,版本=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”。
AssemblyC,版本=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,它会导致警告消失。但正如我之前所说,由于我无法控制的其他原因,我现在无法升级此程序集。
是否有办法仅针对这一特定情况抑制此警告?
Thanks
实际上,有一种方法可以通过编辑 .csproj 将警告视为消息来抑制更新版本的 MSBuild 的 MSBuild 警告。
例如..
<PropertyGroup>
<MSBuildWarningsAsMessages>
$(MSBuildWarningsAsMessages);MSB3274;MSB3275;MSB3268
</MSBuildWarningsAsMessages>
</PropertyGroup>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)