3

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>
4

2 に答える 2

0

この回答が役立つ場合があります

MSDeploy がプロジェクト内の余分なフォルダーを削除しないようにするにはどうすればよいですか?

msbuild に追加のプロパティを指定するだけでよいようです。

SkipExtraFilesOnServer=True

于 2012-10-16T19:20:24.090 に答える