Msbuild 生成后将文件从一个项目复制到另一个项目

Msbuild 生成后将文件从一个项目复制到另一个项目,msbuild,Msbuild,我在side中有一个用于所有javascripts的项目(我将其用于三个项目) 在构建过程中,我想将这些脚本移动到三个项目中,如何通过编辑.csproj来实现这一点,以及如何实现 更新: 我有相同的解决方案webapplication1和webapplication2,我正在编辑webapplication1的.csproj,我想复制测试文件夹中的所有文件 <Target Name="AfterBuild"> <Copy SourceFiles="$(WDTarge

我在side中有一个用于所有javascripts的项目(我将其用于三个项目)

在构建过程中,我想将这些脚本移动到三个项目中,如何通过编辑
.csproj
来实现这一点,以及如何实现

更新:

我有相同的解决方案
webapplication1
webapplication2
,我正在编辑webapplication1的
.csproj
,我想复制测试文件夹中的所有文件

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


但是什么也没有发生。

如果可以使用Visual Studio进行构建,请在Visual Studio中使用post。否则,如果您可以访问命令行,只需发出一个命令,有两种方法可以做到这一点:

_编辑.csproject,在文件的末尾,您应该找到一个名为AfterBuild的目标(取消对目标的注释)


_visual studio中的后期生成事件(在项目属性中)

我找到了我的解决方案:

  <Target Name="AfterBuild">
    <Copy SourceFiles="test\CodeFile1.cs" 
          DestinationFolder="..\WebApplication2\scripts">
    </Copy>
  </Target>


这很好,只是它会在VS中包含项目中的文件,这不是我想要的。@MikaëlMayer为了避免这种情况,请将
放在
元素中。这会在每次生成时运行吗,或者仅当*.js JavascriptFile发生更改时?@Trinition:如果您想控制是否要复制未更改的文件,请使用SkipUnchangedFiles布尔参数(via)。这是每次运行还是仅当CodeFile1.cs发生更改时才运行?
  <Target Name="AfterBuild">
    <Copy SourceFiles="test\CodeFile1.cs" 
          DestinationFolder="..\WebApplication2\scripts">
    </Copy>
  </Target>