TeamCity通过工件路径将fxcop和coverage报告到构建工件中

| 我正在尝试获取fxCop结果xml和coveragereport.xml,以在构建后发布到工件。 以下是我现在所拥有的,
%system.teamcity.build.tempDir%/fxcop-output*/fxcop-result.xml => BuildLog/FxCop
%system.teamcity.build.tempDir%/teamcity*ncover/CoverageReport.xml => BuildLog/Coverage
但是结果目录具有以下格式
BuildLog --> Coverage --> teamcity8681981431807223307ncover --> CoverageReport.xml
BuildLog --> FxCop --> fxcop-output-3810116228914218788 --> fxcop-result.xml
我很好奇在没有包含文件夹结构的情况下如何使它像下面这样。
BuildLog --> Coverage --> CoverageReport.xml
BuildLog --> FxCop --> fxcop-result.xml
谢谢     
已邀请:
因为工件源定义中有一个星号(*),所以搜索模式可能会抓取多个源文件。 为了区分输出路径中的这些(理论上多个)文件,TeamCity将在输出结构中添加*模式的匹配项,例如teamcity 8681981431807223307 ncover [...]。因此,不可能选择(潜在地)多个文件并将它们存储为一个文件。 答案可能是不同的方法。您可以编写使用TeamCity Build Script Interaction功能的MSBuild脚本,类似于:
<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\" 
     ToolsVersion=\"4.0\">

<ItemGroup>
  <FxCopResults Include=\"%system.teamcity.build.tempDir%/fxcop-output*/fxcop-result.xml\" />
  <CoverageResults Include=\"%system.teamcity.build.tempDir%/teamcity*ncover/CoverageReport.xml\" />
</ItemGroup>

<Target Name=\"PublishArtifacts\">
  <Message Text=\"##teamCity[publishArtifacts \'%(FxCopResults) => BuildLog\\FxCop\'\" />
  <Message Text=\"##teamCity[publishArtifacts \'%(CoverageResults) => BuildLog\\Coverage\'\" />
</Target>
最后,在执行了分析构建步骤之后,可以使用带有MSBuild构建运行器的TeamCity构建步骤在此脚本中启动msbuild目标\“ PublishArtifacts \”。     

要回复问题请先登录注册