是否可以在项目/解决方案级别编写“规则”,如果Visual Studio
数字大于预定义msbuild
,则warnings
/ N
会失败?
原因:解决方案包含600+警告的遗留代码。我想稍后处理它们,但不希望新代码增加这个数字。
答案 0 :(得分:2)
警告时强制构建失败> Ñ
根据界面IEventSource:
定义构建引擎引发的事件。记录器在其Initialize方法中接收实现此接口的对象,并使用它来订阅他们有兴趣接收的事件。
因此我们可以使用客户记录器,它可以用.NET编写,例如C#。经过长时间的搜索,我发现了类似的问题:
How can I treat MSB3245 (could not resolve reference) warning as an error?
您可以参考stijn的答案获取详细信息。
要解决此问题,您可以尝试使用类WarningRaised
来计算警告的数量:
public class ScanLogger : Logger
{
private int warnings = 0;
public override void Initialize(IEventSource eventSource)
{
eventSource.WarningRaised += (s, e) => ++warnings;
{
eventSource.MessageRaised += (s, e) =>
Common.errorsOccurred |= (warnings >= 600);
}
}
有关详细信息,请参阅以下链接:IEventSource Interface
希望这有帮助。