gpt4 book ai didi

visual-studio-2010 - 使用 MSBuild 禁用某些项目的代码分析

转载 作者:行者123 更新时间:2023-12-04 00:12:01 25 4
gpt4 key购买 nike

我继承了一个使用 MSBuild 脚本编译多个解决方案的解决方案文件。大多数项目都配置了分析和规则集,我有一些单元测试项目没有。

启用分析的项目:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>CODE_ANALYSIS;DEBUG;TRACE</DefineConstants>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>..\OurRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>

关闭分析的项目:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>

当我运行我的构建脚本时,看起来有些项目不尊重项目设置:
msbuild.exe BuildScript.proj /p:SolutionRoot=%cd%; /p:Configuration=Debug /p:Platform:x86 /p:RunCodeAnalysis=True

当我检查输出文件夹时,我看到 RunCodeAnalysis 标志设置为 false 的项目的覆盖率分析 xml 输出。有人可以帮助我了解这里发生了什么吗?

最佳答案

发布后不久我就想到了这一点。

Team Build 支持 RunCodeAnalysis 的以下值:Always、Default、Never。

相比之下,本地 MSBuild 支持 RunCodeAnalysis 的 True 或 False。

他们为什么不同?在查看 Microsoft.TeamFoundation.Build.targets 文件时,会出现以下内容:

<Target Name="CoreCompileSolution">
<PropertyGroup>
<CodeAnalysisOption Condition=" '$(RunCodeAnalysis)'=='Always'">RunCodeAnalysis=true</CodeAnalysisOption>
<CodeAnalysisOption Condition=" '$(RunCodeAnalysis)'=='Never'">RunCodeAnalysis=false</CodeAnalysisOption>
...
</PropertyGroup>
...
</Target>

这些设置然后在编译解决方案文件时传递到 msbuild 进程。

所以换句话说:

始终 告诉 MSBuild 使用 RunCodeAnalysis=True 编译所有项目

从不 告诉 MSBuild 禁止对所有项目进行代码分析 (RunCodeAnalysis=False)。

...并且不为 RunCodeAnalysis 指定值意味着 MSBuild 将遵守项目文件中的 RunCodeAnalysis 设置。因此, 默认 设置。

只需从我的原始问题中删除/p:RunCodeAnalysis 即可获得正确的结果。打开分析的项目将运行代码分析。没有设置的项目不执行任何额外的工作。

更多相关信息,请访问: http://www.bryancook.net/2011/06/build-server-code-analysis-settings.html

关于visual-studio-2010 - 使用 MSBuild 禁用某些项目的代码分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6399014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com