1

Web.Debug.config と Web.Release.config をそれぞれ使いたい。

しかし、Visual Studio 2010 では動作せず、デプロイ後に実際のサーバーで動作します。

Web.Release.config

<appSettings>
    <add key="GOOGLE_MERCHANT_ID" value="LIVE_GOOGLE_MERCHANT_ID" xdt:Transform="Insert" xdt:Locator="Match(key)" />
</appSettings>

Web.Debug.config

<appSettings>
    <add key="GOOGLE_MERCHANT_ID" value="DEBUG_GOOGLE_MERCHANT_ID" xdt:Transform="Insert" xdt:Locator="Match(key)" />
</appSettings>

上記の構成ファイルが好きで、画面に構成値をエコーし​​ようとします。

string t = WebConfigurationManager.AppSettings["GOOGLE_MERCHANT_ID"]; Response.Write(t);

ビジュアルスタジオでは、

ここに画像の説明を入力

リリースモードとして設定し、F5 (Build Solution(F6) も試しました) を実行しましたが、何も出力されません。

そのため、パッケージを展開してサーバーにインストールして実行しようとすると、正しい値が出力されます。

Visual Studioでそれを行うにはどうすればよいですか? パッケージを展開する前に、すべてが正常であることを確認したいと思います。

教えてください〜

ありがとうございました!

[編集]

わかりました。素敵な回答をくださった皆さん、ありがとうございました。

もう一つ質問してもよろしいですか?

では、これは何のためですか?

ここに画像の説明を入力

リリースまたはデバッグに変更すると、プロジェクトにどのような影響がありますか?

4

3 に答える 3

1

この投稿を参照してください https://stackoverflow.com/a/5734829/611288

Jimmy が言うように、web.config 変換は Web パブリッシュ パイプライン中にのみ適用されます。

ジミーはまた、ハックのために次のリンクを提供しています: http://sedodream.com/2010/10/21/ASPNETWebProjectsWebdebugconfigWebreleaseconfig.aspx

または、ローカルにデプロイするテスト デプロイを作成し、そこで構成設定をテストします。

于 2012-06-21T15:56:48.023 に答える
0

私の知る限り、ソリューションを構築するときに web.config を構築する方法はありません。選択したビルド構成に基づいてビルド後のイベントとして xml マージ ツールを実行することで、これを回避できます。のようなものXmlConfigMergeがあなたを助けるかもしれません。

于 2012-06-21T15:46:47.293 に答える
0

これはビジュアルスタジオではできないと思います。プロジェクトをサーバーでテストする場合は、実際のサーバーではなく、ローカルの iis でテストしてみてください。

于 2012-06-21T15:52:52.880 に答える