如何在 MSBuild exec 任务的命令行上传递引用的文件列表?
How does one pass a quoted list of files on a command line in an MSBuild exec task?
我有一个程序,我们称它为 q.exe
,它在命令行上接受引用路径列表。我有一个 MSBuild 项目,其中包含要在该命令行上传递的文件。我应该如何传递这样的文件列表?
您可以将任何 MSBuild 项目转换为带引号的 space 分隔字符串,项目规范类似于以下内容:
@(AnyMSBuildItem->'"%(FullPath)"', ' ')
导致类似:
<ItemGroup>
<ProcessMe Include="..." />
<ProcessMe Include="..." />
<ProcessMe Include="..." />
</ItemGroup>
<Target Name="Build">
<Exec Command="q.exe @(ProcessMe->'"%(FullPath)"', ' ')" />
</Target>
这通过使用 ->
语法添加引号,并使用 ,
语法将分隔符从默认的 ;
更改为 space。
我有一个程序,我们称它为 q.exe
,它在命令行上接受引用路径列表。我有一个 MSBuild 项目,其中包含要在该命令行上传递的文件。我应该如何传递这样的文件列表?
您可以将任何 MSBuild 项目转换为带引号的 space 分隔字符串,项目规范类似于以下内容:
@(AnyMSBuildItem->'"%(FullPath)"', ' ')
导致类似:
<ItemGroup>
<ProcessMe Include="..." />
<ProcessMe Include="..." />
<ProcessMe Include="..." />
</ItemGroup>
<Target Name="Build">
<Exec Command="q.exe @(ProcessMe->'"%(FullPath)"', ' ')" />
</Target>
这通过使用 ->
语法添加引号,并使用 ,
语法将分隔符从默认的 ;
更改为 space。