我正在尝试使用MSBuild构建一个解决方案,我想为每个项目启动代码分析,并将所有输出放入某个目录.我正在运行的命令是:
msbuild.exe MySolution.sln /p:RunCodeAnalysis=True;CodeAnalysisLogFile=c:\BuildOutput\code-analysis.xml
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是代码分析会覆盖解决方案中每个项目的xml文件,因此我只获得最后一个项目的输出.有没有办法告诉MSBuild将输出附加到代码分析或为每个输出生成一个唯一的文件?
注意:我不希望用CodeAnalysisLogFile xml标签更新每个CSProj文件,但如果没有其他方法,那就是我要做的.
创建或使用现有的通用“Imports.Props”文件导入,并在其中包含 CodeAnalysisLog 的定义。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CodeAnalysisLogFile>$(OutputPath)\CodeAnalysis\$(AssemblyName).$(Platform).$(Configuration).xml</CodeAnalysisLogFile>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
然后在您的项目文件中导入这个通用的 props 文件:
<Import Project="$(PropertyOfSourceFolder)\CodeAnalysis.props" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1722 次 |
| 最近记录: |