9

次のシナリオを検討してください。

  • Alice は、Visual Studio 2012 を使用して Web アプリケーション (ASP.NET MVC または WebForms) を作成します。
  • Alice は「PRODUCTION」という名前の発行プロファイルを作成し、[設定] タブ (発行ウィザード内) で [リリース] 構成を選択します。
  • アリスは、「PRODUCTION」という発行プロファイルを使用してアプリケーションを発行します。
  • Alice は、ソリューションをソース管理に保存します。

デフォルトでは、" *.pubxml.user" ファイルはソース管理に含まれていないことに注意してください: http://msdn.microsoft.com/en-us/library/ff398069.aspx

  • ボブは、ソース管理からソリューションのチェックアウトを行います。
  • Bob はソリューションを開き、発行ウィザードを起動します。
  • Bob は、選択された発行プロファイルが「PRODUCTION」と呼ばれることを確認します。
  • Bob は [設定] タブ (パブリッシュ ウィザード内) をクリックし、表示された構成が"Release"であることを確認します。
  • Bob はアプリケーションを公開します。
  • Bob は、アプリケーションが "Release" 構成ではなく "Debug" 構成を使用して公開されたことに気付きました。

その理由は、ビルド構成に関する情報がファイル " *.pubxml.user" に格納されているためです ( というノードを参照<LastUsedBuildConfiguration>)。

この動作は、特に Web 構成変換 ("Web.Release.config") を使用して接続文字列を変更する場合に問題になります。

=> " " ファイルをソース管理に保存したくない場合、どうすればこの問題を修正*.pubxml.userできますか?

関連記事:

4

2 に答える 2

11

これには 2 つの側面があります。パブリッシュ ダイアログのドロップダウンの値を共有し、コマンド ラインをサポートします。以下は両方についての私のコメントです。

チーム メンバーとプロファイルを共有する

VS2012 RTM でパブリッシュ ビットをリリースしたとき、LastUseBuildConfiguraiton を .pubxml.user ファイルに書き込んでいました。その後、それを .pubxml ファイル自体に移動して、他のチーム メンバーと共有できるようにしました。最新のビルドは次の場所で入手できます。

  1. ASP.NET 2012.2
  2. 最新の Azure SDK

これらのいずれかをインストールしても、Config が共有されないという動作がまだ見られる場合は、.pubxml が古いドロップで作成されたことが原因である可能性があります。解決策は、.pubxml および .pubxml.user ファイルを削除し、最新のもので再度作成することです。

コマンド ライン シナリオ

コマンド ライン シナリオでは、Configuration プロパティを明示的に設定する必要があります。.pubxml (または .pubxml.user) ファイルは、その値をオーバーライドできません。詳細については、http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspxにある私のブログを参照してください。

于 2013-03-21T19:04:18.900 に答える