根据this blog,您可以将所有/某些项目设置为将StyleCop违规视为构建错误而不是警告:
默认情况下,StyleCop违规将显示为构建警告。 要将StyleCop违规转换为构建错误,必须将标志StyleCopTreatErrorsAsWarnings设置为false。此标志可以在机器上或构建环境命令窗口中设置为环境变量。以这种方式设置标志将导致StyleCop违规自动显示为启用了StyleCop构建集成的所有项目的构建错误。
或者,可以在特定项目的项目文件中设置此标志。再次打开项目的.csproj文件,找到文件中的第一个PropertyGroup部分。添加新标记以将StyleCopTreatErrorsAsWarnings标志设置为false。
This doc显示您可以打开/关闭各个规则的位置,但它似乎不支持设置严重性,只是完全打开/关闭它们。
是否无法更精细地控制哪些规则导致错误与警告?
答案 0 :(得分:2)
它不应该,但如果你真的想要它......为什么不呢?
这是一个想法,而不是一个完整的解决方案。
StyleCop.Targets
文件中有两行有用。首先导入StyleCop任务:
<UsingTask AssemblyFile=".\StyleCop.dll" TaskName="StyleCopTask"/>
这个人称之为:
<StyleCopTask
ProjectFullPath="$(MSBuildProjectDirectory)"
SourceFiles="@(StyleCopFiles)"
AdditionalAddinPaths="@(StyleCopAdditionalAddinPaths)"
ForceFullAnalysis="$(StyleCopForceFullAnalysis)"
DefineConstants="$(DefineConstants)"
TreatErrorsAsWarnings="$(StyleCopTreatErrorsAsWarnings)"
CacheResults="$(StyleCopCacheResults)"
OverrideSettingsFile="$(StyleCopOverrideSettingsFile)"
OutputFile="$(StyleCopOutputFile)"
MaxViolationCount="$(StyleCopMaxViolationCount)"
/>
所以你基本上需要调用它两次,第一次将TreatErrorsAsWarnings
指定为false
(如果有任何警告就会失败),第二次指定true
(导致只是警告)。
此外,您需要使用两个单独的设置文件 - 第一个使用stylecop'错误',第二个使用'警告'。