门控签入生成将忽略源中的[SuppressMessage]



我们希望拒绝违反自定义静态代码规则的签入。因此,我们定义了一个门控签入构建,其中"执行代码分析"设置为"AsConfigured"。

当我在本地构建解决方案时,使用与Gated Check in构建定义的相同的配置和目标,没有错误。但是Gated Checkin构建似乎忽略了我们在源代码中定义的任何[SuppressMessage]属性,从而报告错误。

Gated签入生成不会忽略GlobalSuppressions文件中定义的[SuppressMessage]属性。

其他人有这个问题吗?

当您说本地构建良好时,您是从Visual Studio构建的,还是使用MSBuild构建的?

TFS Build使用MSBuild来生成项目,您应该能够通过查看生成报告中的日志来查看生成期间运行的MSBuild命令(如果您将详细级别至少设置为Normal)。

若要调查此问题,我建议您使用此MSBuild命令在本地生成解决方案(您需要更改计算机上解决方案的路径,而不是生成计算机上使用的路径),它可能会给您带来相同的错误,这表明使用MSBuild生成和使用Visual Studio生成之间存在差异。然后我们可以查看MSBuild命令,看看它为什么不以相同的方式运行。

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新