MSBuild增量生成错误

MSBuild增量生成错误,msbuild,incremental-build,Msbuild,Incremental Build,在生成.NET解决方案输出并将其复制到部署文件夹时,我面临一个问题 我想做的是。生成解决方案并将输出放入C:\TempOutput 然后将输出文件从C:\TempOutput复制到另一个部署文件夹 在第一次尝试时,它在C:\TempOutput中创建文件夹,并在此文件夹中创建输出DLL和EXE 它还会创建文件夹“Exec\Debug\Bin”,但不会从C:\TempOutput复制文件 日志上说 目标CopyBuilder文件: 正在跳过目标“CopyBuildFiles”,因为它没有输出 当我

在生成.NET解决方案输出并将其复制到部署文件夹时,我面临一个问题

我想做的是。生成解决方案并将输出放入C:\TempOutput

然后将输出文件从C:\TempOutput复制到另一个部署文件夹

在第一次尝试时,它在C:\TempOutput中创建文件夹,并在此文件夹中创建输出DLL和EXE

它还会创建文件夹“Exec\Debug\Bin”,但不会从C:\TempOutput复制文件

日志上说

目标CopyBuilder文件: 正在跳过目标“CopyBuildFiles”,因为它没有输出

当我这次再次运行脚本时,它会将文件从C:\TempOutput复制到“Exec\Debug\Bin”

我错过什么了吗?为什么第一次尝试时未检测到输出

以下是msbuild脚本

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Deploy">

  <PropertyGroup>
    <ProjectName>Common Projects</ProjectName>
    <SolutionFilePath>..\..\Solution\Solution.sln</SolutionFilePath>

    <!--Build/Rebuild-->
    <BuildType>Build</BuildType>

    <!--Debug -> output : local-->
    <!--Release -> output : local-->
    <!--ProduDbg -> output : X:\Debug-->
    <!--ProduRel -> output : X:\Release-->

    <BuildMode>Debug</BuildMode>

    <OutputPath>..\Exec\$(BuildMode)\Bin\</OutputPath>
    <ExecPath>..\..\bin\$(BuildMode)</ExecPath>

    <DestinitionFolder>$(OutputPath)</DestinitionFolder>
    <SubDirPath>$(ExecPath)\**</SubDirPath>

    <BuildFolder>C:\TempOutputs\</BuildFolder>  

  </PropertyGroup>


  <ItemGroup>
    <File Include="
          $(BuildFolder)\*.*
          "

          Exclude="          
          $(BuildFolder)\*.vshost*
          "
          >

    </File> 

  </ItemGroup>

  <Target Name="PreBuild">
    <MakeDir Directories="$(BuildFolder)" />
    <MakeDir Directories="$(DestinitionFolder)" />
  </Target>

  <Target Name="Compile">

    <MakeDir Directories="$(BuildFolder)" />
    <!-- Build does build only-->

    <Message Text="*******************************************************"/>
    <Message Text="-->Building $(ProjectName)"/>
    <Message Text="*******************************************************"/>

    <Message Text="*******************************************************"/>
    <Message Text="-->Building in [$(BuildMode) | $(BuildType)] mode"/>
    <Message Text="*******************************************************"/>

    <MSBuild Projects="$(SolutionFilePath)" Targets="$(BuildType)" Properties="Configuration=$(BuildMode);OutDir=$(BuildFolder)"/>    
  </Target>


  <Target Name="CopyBuildFiles"
             Inputs="@(File)"
             Outputs=
          "@(File->'$(DestinitionFolder)%(RecursiveDir)%(Filename)%(Extension)')">

    <Copy SourceFiles="@(File)"
          DestinationFiles="@(File->'$(DestinitionFolder)%(RecursiveDir)%(Filename)%(Extension)')"
          />
  </Target>

  <Target Name="Deploy">

    <CallTarget Targets="PreBuild"/>
    <CallTarget Targets="Compile"/>

    <Message Text="*******************************************************"/>
    <Message Text="@(File)"/>
    <Message Text="$(DestinitionFolder)"/>    
    <Message Text="*******************************************************"/>


    <CallTarget Targets="CopyBuildFiles"/>
  </Target>

</Project>

共同项目
..\..\Solution\Solution.sln
建造
调试
..\Exec\$(构建模式)\Bin\
..\..\bin\$(构建模式)
$(输出路径)
$(执行路径)\**
C:\TempOutputs\
尝试更改此位

  <Target Name="CopyBuildFiles"              
          Inputs="@(File)"
          Outputs="@(File->'$(DestinitionFolder)%(File.RecursiveDir)%(File.Filename)%(File.Extension)')">

      <Copy SourceFiles="@(File)"
            DestinationFiles="@(File->'$(DestinitionFolder)%(File.RecursiveDir)%(File.Filename)%(File.Extension)')"/>
   </Target>