Пакетная копия MSbuild

В прошлый раз я неверно истолковал свою ситуацию, но вы, ребята, получили мне действительно быстрые и отличные решения. поэтому возвращаюсь. У меня новая ситуация. Я предоставил фрагмент моего кода. Не уверен, что не так.

Я пытаюсь скопировать на несколько серверов с одинаковой структурой каталогов. Не уверен, что с ним не так...

<PropertyGroup>
<Srcfldr>C:\Msbuild\exproj\REbinaries</Srcfldr>
<copyfldr>c$\component1</copyfldr>
</PropertyGroup>

<ItemGroup>
    <SrcToCopy Include="$(Srcfldr)\**\*"/>
</ItemGroup>

<ItemGroup>
    <DestFldr Include="devsvr1;devsvr2"/>
    <DestToCopy Include="@(DestFldr)\$(copyfldr)"/>
</ItemGroup>

<Target Name="DeployBatching" Outputs="%(DestToCopy.FullPath)">
    <PropertyGroup>
        <DestToCopy>%(DestToCopy.FullPath)</DestToCopy>
    </PropertyGroup>
    <RemoveDir Directories="@(DestToCopy)"/>
    <MakeDir Directories="@(DestToCopy)"/>
    <Copy
        SourceFiles="@(SrcToCopy)"
        DestinationFiles="@(SrcToCopy->'$(DestToCopy)\%(RecursiveDir)\%(Filename)%(Extension)')"
    />
</Target>

2 ответа

%(DestCopy.FullPath) представляет метаданные для всех элементов в коллекции и не преобразуется в свойство $(DestToCopy).

Хотя публикация скрипта с ошибками может показать часть картины, вам также необходимо четко сформулировать, какова ваша цель, что вы ожидаете увидеть и что вы на самом деле видите.

Я устал код ниже и, кажется, работает, но не уверен, что это оптимальное решение...

Можете ли вы эксперты, пожалуйста, обзор...

<PropertyGroup>
<Srcfldr>C:\Msbuild\exproj\Rebinaries</Srcfldr>
<copyfldr>c$\component1</copyfldr>
</PropertyGroup>

<ItemGroup>
<SrcToCopy Include="$(Srcfldr)\**\*"/>
</ItemGroup>

 <ItemGroup>
 <DestToCopy Include="\\devsvr1\$(copyfldr);\\devsvr2\$(copyfldr)"/>
 </ItemGroup>

 <Target Name="DeployBatching" Outputs="%(DestToCopy.FullPath)">
    <PropertyGroup>
        <DestToCopy>%(DestToCopy.FullPath)</DestToCopy>
    </PropertyGroup>
    <RemoveDir Directories="@(DestToCopy)"/>
    <MakeDir Directories="@(DestToCopy)"/>
    <Copy
        SourceFiles="@(SrcToCopy)"
        DestinationFiles="@(SrcToCopy->'$(DestToCopy)\%(RecursiveDir)\%(Filename)%(Extension)')"
    />
</Target>
Другие вопросы по тегам