【发布时间】:2016-06-03 12:41:58
【问题描述】:
我正在尝试构建一个 MSBuild 目标,该目标将在目录列表中获取某个文件,然后将该文件以不同的名称复制到同一目录中。 “目标”名称直接依赖于目录。
我们用一个例子来说明:
|-\Source\MySolution.ProjectFoo\
| -- App.config.tpl
| -- MySolution.ProjectFoo.exe
| -- (Target) MySolution.ProjectFoo.exe.config.tpl
|-\Source\MySolution.ProjectBar\
| -- App.config.tpl
| -- MySolution.ProjectBar.exe
| -- (Target) MySolution.ProjectBar.exe.config.tpl
我已经开始像这样构建我的ItemGroup:
<ItemGroup>
<AppConfigTemplates Include="Source\**\App.config.tpl">
<Correlate>%(RecursiveDir)</Correlate>
</AppConfigTemplates>
<ExeFiles Include="Source*\**\*.exe">
<Correlate>%(RecursiveDir)</Correlate>
</ExeFiles>
</ItemGroup>
我希望能够对Correlate 元数据属性进行批处理。比如:
<Copy Batch="%(Correlate)" SourceFiles="%(AppConfigTemplates.FullPath)"
DestinationFiles="%(ExeFiles.FullPath).config.tpl" />
我怎样才能做到这一点?
【问题讨论】:
标签: .net msbuild copy msbuild-4.0 msbuild-batching