Я пытаюсь создать цель MSBuild, которая должна взять определенный файл в списке каталогов, а затем скопировать этот файл с другим именем в тот же каталог. Имя «destination» напрямую зависит от каталога.Задача MSBuild Copy + пакетная обработка метаданных корреляции
Проиллюстрируем на примере:
|-\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" />
Как я могу это достичь?
Это именно то решение, которое я ищу! Благодаря! – MarioDS