2014-05-14 66 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”。

因此,这里唯一的办法是编写一个小工具来解析日志文件并寻找警告。

相关问题