Как указать структуру папок с помощью задания копирования msbuild - PullRequest
22 голосов
/ 23 апреля 2009

У меня есть следующий скрипт msbuild, который копирует весь DeploymentDirectory в VersionSpecificDirectory. Вот фрагмент:

<CreateItem Include="$(DeploymentDirectory)/**/*.*" >
  <Output ItemName="AllDeploymentFilesToCopy" TaskParameter="Include" />
</CreateItem>
<Copy SourceFiles="@(AllDeploymentFilesToCopy)"
      DestinationFiles="@(AllDeploymentFilesToCopy->'$(VersionSpecificDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" />

Каким будет сценарий для копирования всех файлов в DeploymentDirectory вместо самого каталога?

Обновление: я попытался изменить направление косой черты, чтобы она была обратной, и проблема все еще существует.

Другое обновление: это не было связано с кодом msbuild. И код в моем вопросе, и код в ответе прекрасно работают для этого.

1 Ответ

36 голосов
/ 23 апреля 2009

Попробуйте это:

<ItemGroup>
    <MySourceFiles Include="c:\MySourceTree\**\*.*"/>
</ItemGroup>

<Target Name="CopyFiles">
    <Copy
        SourceFiles="@(MySourceFiles)"
        DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')"
    />
</Target>

С MSDN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...