2014-05-14 67 views

回答

7

不愉快的答案在這裏給你。 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」。

因此,這裏唯一的辦法是編寫一個小工具來解析日誌文件並尋找警告。

相關問題