Visual studio 2015 msbuild忽略静态代码分析错误

Visual studio 2015 msbuild忽略静态代码分析错误,visual-studio-2015,msbuild,Visual Studio 2015,Msbuild,我想使用一些静态分析NuGet库(StyleCop、RefactorEssentials),为了强制执行规则,我想使用“将警告视为错误”项目级选项 在使用MSBuild构建解决方案时,我还需要具有相同的行为。 我测试了这样的设置,在VisualStudio2015中,构建如预期的那样失败,但是 我无法获得与MSBuild相同的行为 我尝试运行以下MSBuild命令:MSBuild test.sln/t:clean,build/p:runcodealysis=true,但该生成提供了0个警告和错误

我想使用一些静态分析NuGet库(StyleCop、RefactorEssentials),为了强制执行规则,我想使用“将警告视为错误”项目级选项

在使用MSBuild构建解决方案时,我还需要具有相同的行为。 我测试了这样的设置,在VisualStudio2015中,构建如预期的那样失败,但是 我无法获得与MSBuild相同的行为

我尝试运行以下MSBuild命令:
MSBuild test.sln/t:clean,build/p:runcodealysis=true
,但该生成提供了0个警告和错误。 此外,在我使用上面的MSBuild命令构建解决方案之后,VisualStudio也会报告成功的构建,即使错误仍然存在并在错误列表视图中报告。我必须在VisualStudio中重建解决方案,以使其再次由于分析器错误而失败


知道我为什么会有这种行为吗?我应该怎么做才能从MSBuild获得相同的行为?

原因是您没有指定配置和平台,内置VS和MSBuild工具的配置和平台不同,因此代码分析规则不同

RunCodeAnalysis参数用于启用代码分析和使用特定规则运行代码分析(项目属性=>代码分析,不同的配置和平台有不同的设置)。为此,可以在项目文件(PropertyGroup)中添加true属性,或直接为MSbuild命令指定此参数

对于StyleCop代码分析:

  • 安装软件包
  • (将警告视为错误)将
    false
    添加到项目文件的PropertyGroup,或直接为MSBuild命令指定此参数

  • 构建(项目属性)的设置也基于配置和平台

    原因是您没有指定配置和平台,内置VS和MSBuild工具的配置和平台不同,因此代码分析规则不同

    RunCodeAnalysis参数用于启用代码分析和使用特定规则运行代码分析(项目属性=>代码分析,不同的配置和平台有不同的设置)。为此,可以在项目文件(PropertyGroup)中添加true属性,或直接为MSbuild命令指定此参数

    对于StyleCop代码分析:

  • 安装软件包
  • (将警告视为错误)将
    false
    添加到项目文件的PropertyGroup,或直接为MSBuild命令指定此参数

  • 构建(项目属性)的设置也基于配置和平台

    谢谢,这很有效。更多关于第二步的信息:谢谢,这是工作。有关步骤2的更多信息,请参见此处: