Скопируйте файлы из одного проекта в другой после сборки

У меня есть проект для всех моих javascripts (который я сделал общим для трех проектов).

Во время сборки я хочу переместить эти сценарии в три проекта, как я могу это сделать, отредактировав .csproj и как?

Обновление:

У меня такое же решение webapplication1 и webapplication2, и я редактирую .csproj для webapplication1, и я хочу скопировать все файлы в тестовую папку

  <Target Name="AfterBuild">
    <Copy SourceFiles="$(WDTargetDir)test\" 
          DestinationFolder="$(SolutionRoot)WebApplication2">
    </Copy>
  </Target>

Однако ничего не происходит.


person Community    schedule 29.01.2009    source источник


Ответы (3)


Это можно сделать двумя способами:

_ Отредактируйте .csproject, в конце файла вы должны найти цель с именем AfterBuild (раскомментируйте цель).

<ItemGroup>
    <JavascriptFiles Include="*.js"/>
</ItemGroup>

<Target Name="AfterBuild">
    <Copy
        SourceFiles="@(JavascriptFiles)"
        DestinationFolder="PathWhereYouWantToCopyYourJavascriptFiles"
    />
</Target>

_ Публикация событий сборки в Visual Studio (в свойствах проекта)

person Julien Hoarau    schedule 29.01.2009
comment
Это хорошо, за исключением того, что файлы проекта будут включены в VS, а это не то, чего я хочу. - person Mikaël Mayer; 02.02.2015
comment
@ MikaëlMayer Чтобы избежать этого, поместите <ItemGroup> внутри элемента <Target>. - person Justin M. Keyes; 30.10.2015
comment
Будет ли это выполняться каждый раз, когда я создаю, или только при изменении * .js файла JavascriptFile? - person Trinition; 14.12.2015
comment
@Trinition: если вы хотите контролировать копирование неизмененных файлов, используйте логический параметр SkipUnchangedFiles (через полная документация по задаче копирования). - person Nikita R.; 25.05.2016

Я нашел свое решение:

  <Target Name="AfterBuild">
    <Copy SourceFiles="test\CodeFile1.cs" 
          DestinationFolder="..\WebApplication2\scripts">
    </Copy>
  </Target>
person Community    schedule 29.01.2009
comment
Выполняется ли это каждый раз или только после изменения CodeFile1.cs? - person Trinition; 14.12.2015

Если вы можете использовать Visual Studio для сборки, используйте post события сборки в визуальной студии. В противном случае, если у вас есть доступ к командной строке, просто введите command> noreferrer

person Adam Naylor    schedule 29.01.2009