2014-11-14 80 views
6

我想让构建失败,如果他们不通过StyleCop。目前,这些只是作为警告显示。我试图按照the documentation here不能让StyleCop错误显示为构建错误(而不是警告)

我已经添加到我的CSProj文件<Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets" />这似乎正确包括StyleCop。

然后,我在我的csproj文件中将StyleCopTreatErrorsAsWarnings设置为false。这里是我的csproj文件的开头:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
    <Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.Targets" /> 
    <PropertyGroup> 
    <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings> 

这将导致在竹(我的持续集成服务器)的警告出现,但没有错误。在Visual Studio中也是如此。

为什么StyleCop错误仍然显示为警告?

+0

是否有可能在MSBuild命令行上覆盖$(StyleCopTreatErrorsAsWarnings)?如果您可以使用诊断程序运行构建,则可以让您检查这一点。 – 2014-11-14 23:08:39

回答

1

您需要在C#导入行之后移动stylecop import。 此外,您还需要在csproj文件中添加StyleCopEnabled = true属性