将单个StyleCop规则设置为生成错误
本文关键字:错误 设置 单个 StyleCop 规则 | 更新日期: 2023-09-27 18:09:28
根据这个博客,您可以设置所有/某些项目将StyleCop违规视为构建错误而不是警告:
默认情况下,StyleCop违规将显示为构建警告。要将StyleCop违规转换为构建错误,必须将标志StyleCopTreatErrorsAsWarnings设置为false。该标志可以设置为机器上的环境变量,或者在构建环境命令窗口中设置。以这种方式设置标志将导致StyleCop违规自动显示为所有启用了StyleCop构建集成的项目的构建错误。
或者,这个标志可以在特定项目的项目文件中设置。再次打开项目的.csproj文件,并在文件中找到第一个PropertyGroup部分。添加一个新标签,将StyleCopTreatErrorsAsWarnings标记设置为false。
这个文档显示了你可以在哪里打开/关闭单个规则,但它似乎不支持设置严重性,只能完全打开/关闭它们。
是否不可能对导致错误和警告的规则进行更细粒度的控制?
这是不应该的,但如果你真的想…为什么不呢?
这是一个想法,不是一个完整的解决方案。
在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
(只导致警告)。
同样,你将需要使用两个单独的设置文件-第一个使用style 'errors',第二个使用'warnings'。