スクリプトから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>
クリーン/リビルドを強制するにはどうすればよいですか?
変化する
<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タスクのドキュメント を参照してください。
"%windir%\ Microsoft.NET\Framework\v4.0.30319\MSBuild" Project.sln/p:Configuration = Release/t:Rebuild
常に使用してみてください
<MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
Targets="Clean;Build"
Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />
このMSDN記事 によると、ターゲットに「再構築」を使用するソリューションに複数のプロジェクトがある場合、クリーンとビルドが並行して発生する可能性があります。プロジェクトの依存関係で問題が発生する可能性があります。
ただし、 "Clean and Build"をターゲットとして使用すると、すべてのプロジェクトがクリーンアップされた後にのみビルドが開始されます。