1

MSBuildのTargets属性と一般的なTargetタグが混同されています。

msbuild myapp.sln /t:Rebuild以下のコードは、.NETで事前定義されたターゲットにコンパイルされ、「再構築」されますか 。

 <Target Name="Build" DependsOnTargets="Clean">
     <MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
 </Target>

編集:

<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Full" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>...</PropertyGroup>
  <ItemGroup>...</ItemGroup>
  <Target Name="Clean">
    <Message Text="Cleaning..."/>
    <RemoveDir Directories="$(BuildWebOutputDir);$(BuildRoot)" />
  </Target>

  <Target Name="Build">
    <Message Text="Building solution..."/>
    <MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild">
    </MSBuild>
  </Target>

  <Target Name="Copy">
    <Message Text="Copying..."/>
    <Exec Command="xcopy.exe  $(BuildWebOutputDir) $(DistDir) /e /f /y /i" />
  </Target>

  <Target Name="Full" DependsOnTargets="Clean;Build;Copy">
  </Target>  

 <Target>

</Project>
4

1 に答える 1

1

再構築ターゲットは、プロジェクトごとに定義された事前定義されたmsbuildターゲットです。csharpの場合、各csprojにmsbuildライブラリへのリンクがあります。<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />.

ファイル内に埋め込まれていますこれは、ターゲットの再構築を開始するための動作です<Target Name="Rebuild">

于 2013-03-11T11:06:24.287 に答える