2012-09-19 18 views
22

私はプロジェクトから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> 

私はクリーンを強制するにはどうすればよい/再構築を?

答えて

29

変更

詳細については
<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 Task documentationを見てください。

+0

答えが分かり次第表示されます。 probはそれを持っている必要があります。回答ありがとうございます – John

+0

新しい_csproj_はどうですか? – Shimmy

15

"を%windir%\ Microsoft.NET \ Frameworkの\ v4.0.30319 \ MSBuildの" Project.sln /P:設定=リリース/ T:

+0

質問では、msbuildはプロジェクトファイルで使用されます。コマンドプロンプトには直接表示されません。 – warunapww

+0

"私のプロジェクトをコンパイルするためにスクリプトからmsbuildを使用しています"スクリプトより使いやすくするコマンドプロンプト – Geograph

+0

元の質問に答えるかどうかにかかわらず、スニペットを使うと助けてくれました。 – madannes

1

を再構築し、常に

を使用してみてください
<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj" 
    Targets="Clean;Build" 
    Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" /> 

this MSDN articleによれば、ソリューションに「Rebuild」をターゲットとして複数のプロジェクトがある場合、並行してクリーンアップとビルドが行われる可能性があります。プロジェクトの依存関係に問題が生じる可能性があります。

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

関連する問題