将 ItemGroup 的 'Filename' 和 'Extension' 动态构建为 1 行
Dynamically build the 'Filename' and the 'Extension' of an ItemGroup into 1 line
我正在构建脚本中对一组 NuGet 文件执行命令。但是,MSBuild Item Metadata 没有同时包含 'Filename' 和 'Extension' 的字段。
我想批量执行一个命令,而不必对文件扩展名进行硬编码...但是我在这样做时遇到了问题。
我的问题:
如何在不将文件扩展名隐藏在命令文本中的情况下单独执行每个命令?
我的代码:
<ItemGroup>
<NuSpecFiles Include="$(SourceFolder)*.nuspec"></NuSpecFiles>
</ItemGroup>
<Target Name="GenerateNuSpecFile" Condition="'@(NuSpecFiles->Count())' > 0">
<!-- YUCK: The FileExtension is buried in the command -->
<Exec Command="nuget pack %(NuSpecFiles.Filename).nuspec" WorkingDirectory="$(DropFolder)"/>
</Target>
请尝试关注
%(NuSpecFiles.Filename)%(NuSpecFiles.Extension)
我正在构建脚本中对一组 NuGet 文件执行命令。但是,MSBuild Item Metadata 没有同时包含 'Filename' 和 'Extension' 的字段。
我想批量执行一个命令,而不必对文件扩展名进行硬编码...但是我在这样做时遇到了问题。
我的问题:
如何在不将文件扩展名隐藏在命令文本中的情况下单独执行每个命令?
我的代码:
<ItemGroup>
<NuSpecFiles Include="$(SourceFolder)*.nuspec"></NuSpecFiles>
</ItemGroup>
<Target Name="GenerateNuSpecFile" Condition="'@(NuSpecFiles->Count())' > 0">
<!-- YUCK: The FileExtension is buried in the command -->
<Exec Command="nuget pack %(NuSpecFiles.Filename).nuspec" WorkingDirectory="$(DropFolder)"/>
</Target>
请尝试关注
%(NuSpecFiles.Filename)%(NuSpecFiles.Extension)