禁止.codeanalysislog.xml和.lastcodeanalysisuccceeded文件被删除

时间:2014-06-29 02:04:13

标签: msbuild fxcop

有没有办法可以抑制.codeanalysislog.xml和.lastcodeanalysisucceceeded在生成的输出目录中被删除?

2 个答案:

答案 0 :(得分:4)

我同意,bin文件夹是这些FxCop文件的不好处。但是,禁止生成这些文件,或者在构建之后无条件地删除它们不是最佳决策。首先,删除.lastcodeanalysissucceededd将导致代码分析重新运行,即使没有任何更改。其次,删除.CodeAnalysisLog.xml将几乎无法调查分析错误和警告的详细信息。所以你不妨关闭项目的代码分析。

相反,让我建议另一个解决方案。它解决了bin文件夹中那些讨厌文件的问题,同时保留了FxCop的所有功能。解决方案只是将这些文件放在其他地方。最佳位置是obj文件夹,即$(IntermediateOutputPath)

将此部分粘贴到文件末尾的项目文件 <import>'s 之后:

  <PropertyGroup>
    <CodeAnalysisLogFile>$(IntermediateOutputPath)$(TargetFileName).CodeAnalysisLog.xml</CodeAnalysisLogFile>
    <CodeAnalysisSucceededFile>$(IntermediateOutputPath)$(TargetFileName).lastcodeanalysissucceeded</CodeAnalysisSucceededFile>
  </PropertyGroup>

答案 1 :(得分:0)

没关系,我放入了一个后期构建目标来删除这些文件

<Target Name="AfterBuild" AfterTargets="Build">    
<ItemGroup>
    <FilesToDelete Include="\**\*.CodeAnalysisLog.xml" />
    <FilesToDelete Include="\**\*.lastcodeanalysissucceeded" />
</ItemGroup>