web-dev-qa-db-ja.com

MSBuildを強制的にクリーンアップまたは再構築するにはどうすればよいですか?

スクリプトからMSBuildを使用してプロジェクトをコンパイルしています。私はそれがビルドのみを行い、クリーン/リビルドを行わないことに気づきました。

私は以下を持っています:

<Project xmlns="http://schemas.Microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="4.0">
<Target Name="Build">
    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj" Targets="Build" Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />
 </Target>

クリーン/リビルドを強制するにはどうすればよいですか?

25
John

変化する

<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
  Targets="Build"
  Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
  Targets="Clean;Build"
  Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

または

<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj" Targets="Rebuild"
  Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

詳細については、 MSBuildタスクのドキュメント を参照してください。

32
skolima

"%windir%\ Microsoft.NET\Framework\v4.0.30319\MSBuild" Project.sln/p:Configuration = Release/t:Rebuild

28
Geograph

常に使用してみてください

<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
  Targets="Clean;Build"
  Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

このMSDN記事 によると、ターゲットに「再構築」を使用するソリューションに複数のプロジェクトがある場合、クリーンとビルドが並行して発生する可能性があります。プロジェクトの依存関係で問題が発生する可能性があります。

ただし、 "Clean and Build"をターゲットとして使用すると、すべてのプロジェクトがクリーンアップされた後にのみビルドが開始されます。

1
Yohan