动态构建'文件名'和扩展'将ItemGroup分成1行

时间:2015-01-16 18:38:25

标签: visual-studio msbuild

我正在构建脚本中对一组NuGet文件执行命令。但是,MSBuild Item Metadata没有包含'文件名'的字段。以及'扩展'。

我想批量执行一个命令,而不必对文件扩展名进行硬编码......但是我在这方面遇到了麻烦。

我的问题:
如何在不将文件扩展名隐藏在命令文本中的情况下单独执行每个命令?

我的代码:

  <ItemGroup>
    <NuSpecFiles Include="$(SourceFolder)*.nuspec"></NuSpecFiles>
  </ItemGroup>

  <Target Name="GenerateNuSpecFile" Condition="'@(NuSpecFiles->Count())' &gt; 0">
    <!-- YUCK: The FileExtension is buried in the command -->
    <Exec Command="nuget pack %(NuSpecFiles.Filename).nuspec" WorkingDirectory="$(DropFolder)"/>
  </Target>

1 个答案:

答案 0 :(得分:0)

请尝试以下

%(NuSpecFiles.Filename)%(NuSpecFiles.Extension)