2

2つのMVC3Webプロジェクトがあります。1つはモバイルアプリケーション用で、もう1つは通常のデスクトップWebアプリケーションです。最後に追加されるのはモバイルアプリケーションで、コードをチェックインするたびにデプロイされるビルド定義があります(ゲートチェックイン)。

私の問題は、モバイルを追加したので、ビルド定義がそのプロジェクトをデフォルトとして使用することです。この場合、「デフォルトのWebプロジェクト」を指定できるかどうかを知りたいので、代わりにデスクトップバージョンをデプロイします。モバイル。

ビルド引数から構成が次のように指定できるかどうか知りたいのですが。

/ p:Configuration = Dev / p:Platform = "Any CPU" / p:DeployOnBuild = true / p:DeployTarget = MSDeployPublish / p:MSDeployPublishMethod = WMSVC / p:MsDeployServiceUrl = https:// IP:Port / msdeploy.axd / p:username = xxx / p:password = xxx / p:AllowUntrustedCertificate = True / p:DeployIisAppPath = Path

「ビルドするプロジェクト」オプションには、プロジェクトのソリューションがあります(slnファイル)

何か案は?

4

1 に答える 1

1

MSBuildコマンドラインに追加のプロパティを追加する代わりに、プロジェクトファイルを編集し、プロジェクトファイル内にプロパティを設定します。必要に応じて、これらを配置するための特定の構成を作成して、VisualStudioで展開が常に行われるとは限らないようにします。

 <PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == false">
      <DeployOnBuild>true</DeployOnBuild>
      <MSDeployTarget>MSDeployPublish</MSDeployTarget>
      ....
      ....
 </PropertyGroup>

そうすれば、プロジェクトファイルはいつデプロイするかを知ることができます。必要に応じて、これらのアイテムを既に存在するDev | AnyCPU PropertyGroup内に貼り付けることができますが、そうすれば、常にVisualStudio内に構築されます。

コマンドラインからデプロイをトリガーできるようにするには、各プロジェクトが独自のコマンドラインパラメーターをリッスンしていることを確認する必要があります。

 <PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == false">
      <DeployOnBuild Condition="'$(DeployDefaultWebsiteOnBuild)' == 'true'>true</DeployOnBuild>
      <MSDeployTarget>MSDeployPublish</MSDeployTarget>
      ....
      ....
 </PropertyGroup>

ご覧のとおり、DeployOnBuildに条件を追加しました。これにより、DeployDefaultWebsiteOnBuildがtrueに設定されている場合にtrueに設定されます。これで、コマンドラインからそのプロパティを設定できます。

 /p:DeployDefaultWebsiteOnBuild=true
于 2012-12-14T00:00:42.807 に答える