デプロイ プロセスに TeamCity を使用しています。展開するには、次のコマンド ライン パラメーターを使用して MSbuild を実行しています。
/P:Configuration=Release
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=serviceUrl
/P:DeployIisAppPath=website
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:username=username
/P:Password=password
/P:SkipExtraFilesOnServer=True
/P:VisualStudioVersion=10.0
このパラメーターP:SkipExtraFilesOnServer
を true に設定しました。これは、MSbuild で、サービス環境にのみ存在し、ローカル プロジェクトには存在しない一部のファイルを削除したくないためです。しかし、問題は、実際にプロジェクトから何かを削除したいときです (私は Web アプリケーションを持っています)。通常、プロジェクトからファイルを削除してから、アプリを再構築し、プロジェクト ファイルの変更をソース管理にコミットします。MSbuild はこのファイルをサービスに残します。このパラメータのためです。MSbuildは、「このプロジェクトのすべてのファイル」を使用して展開するように指定したリリース構成を使用しています。だから私が実装したい動作:
- TeamCity は、プロジェクト参照リストにないすべてのファイルを残します。(
.csproj
ファイル)。 - TeamCity は、そこに
.csproj
あったが削除されたファイルを削除します。
その仕事を手伝ってください。