MsBuild を使用してプロジェクトをビルドおよび公開しています (CruiseControl.Net と共に)。私はすべてをセットアップしましたが、うまく機能しますが、問題は、展開されたフォルダー内のすべての既存のファイルを上書きしていることです (フォルダーにはユーザーデータが含まれています。ビルド/公開後に xcopy を実行できますが、ユーザーデータは数ギグであり、これは、各自動ビルドでのディスク アクティビティが多すぎます)。
したがって、フォルダーからすべてを削除するのではなく、「既存のファイルのみを置き換える」オプションを使用したいと思います。発行時に Visual Studio 2010 でこのオプションを取得します。「既存のファイルを置き換える」または「最初にすべてのファイルを削除する」ことができます。これを行うには、msbuild コマンド パラメーターを使用します。
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\CCnet\dmisr-web_workingdir\MAKANI</workingDirectory>
<projectFile>MAKANI.sln</projectFile >
<buildArgs>/noconsolelogger /v:quiet /p:Configuration=Staging /p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\dMisr\Web - Deployed" /p:AutoParameterizationWebConfigConnectionStrings=false</buildArgs>
<targets>ReBuild</targets >
<timeout>600</timeout >
</msbuild>