修復了此警告後,如何才能使其發生錯誤,因此不會再次滑入?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