MSBuild - Как копировать файлы в зависимости от условий - PullRequest
0 голосов
/ 11 сентября 2018

Используя MSBuild, как мне скопировать файл на основе конфигурации сборки, т.е. если конфигурация сборки - Staging vs Release.Мне нужно иметь возможность скопировать FolderA \ FileA, если конфигурация сборки Staging и FolderB \ FileB для производства.Кроме того, файл, когда он копируется, должен находиться в корневом каталоге выходного каталога, а не в папке как FolderA или FolderB.Использование задачи - выброс ошибок при загрузке проекта.

1 Ответ

0 голосов
/ 11 сентября 2018

MSBuild - Как копировать файлы в зависимости от условия

Вы можете использовать Condition=" '$(Configuration)' == 'xxx' " для задания копирования в файле проекта.

Для этого разгрузите ваш проект. Затем в самом конце проекта, перед конечным тегом </Project>, поместите ниже сценарии:

  <ItemGroup>
    <MySourceFilesA Include="FolderA\FileA.txt" />
    <MySourceFilesB Include="FolderB\FileB.txt" />
  </ItemGroup>

  <Target Name="CopyFiles" AfterTargets="Build">
    <Copy SourceFiles="@(MySourceFilesA)" DestinationFolder="$(OutDir)" Condition=" '$(Configuration)' == 'Staging' " />
    <Copy SourceFiles="@(MySourceFilesB)" DestinationFolder="$(OutDir)" Condition=" '$(Configuration)' == 'Release' " /> 
  </Target>

Вы можете изменить paht SourceFiles и DestinationFolder в соответствии со своими потребностями, просто убедитесь, что путь правильный.

Надеюсь, это поможет.

...