修复了此警告后,如何才能使其发生错误,因此不会再次滑入?MSB3277的警告错误:发现不能解决的相同相关程序集的不同版本之间的冲突
msbuild /p:TreatWarningsAsErrors
不起作用
修复了此警告后,如何才能使其发生错误,因此不会再次滑入?MSB3277的警告错误:发现不能解决的相同相关程序集的不同版本之间的冲突
msbuild /p:TreatWarningsAsErrors
不起作用
不愉快的答案在这里给你。 TreatWarningsAsErrors属性只影响C#和VB.NET编译器(不是C++),它决定了它们的命令行选项的值。
但MSB3277由MSBuild任务ResolveAssemblyReference生成,其内部LogResult()方法生成诊断。该类唯一的属性有助于将警告作为有条件的错误处理为WarnOrErrorOnTargetArchitectureMismatch,而不是您想要实现的。你可以通过一个反编译器来看看你自己,看看C:\ Program Files文件(x86)\ MSBuild \ 12.0 \ Bin \ Microsoft.Build.Tasks.v12.0.dll。本地化的MSB3277消息的资源名称是“ResolveAssemblyReference.FoundConflicts”。
因此,这里唯一的办法是编写一个小工具来解析日志文件并寻找警告。
通过程序包管理器控制台运行更新程序包,这将修复MSB3277,它会重新安装所有程序包和所有相关的程序集以尽可能达到最高版本。
有关官方文档的更多信息https://docs.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages