8

現在、ビルド構成に基づいて Web.config 変換を簡単にセットアップできます。たとえば、connectionString=server;..forDebugおよびconnectionString=./SQLExpress;..for を使用しReleaseます。

しかし、Web 公開プロファイルに基づいて Web.config 変換を行うことは可能ですか? つまり、connectionString=server1;..プロファイルServer1と?connectionString=server2;..Server2

4

3 に答える 3

5

すべてのマシン/プロファイル固有の構成を個別の構成ファイルに保持し、configSource を使用してそれらを含めます...

    <connectionStrings configSource="cstrings.config"/>

このように、Web.config は同じであり、変換は必要ありません。これは、接続文字列、smtp 設定、およびアプリ設定に対して行います。

Web.config および「マシン固有」のファイル (cstrings.config.production、cstrings.config.staging など) をバージョン管理します。

この構造があれば、さまざまなプロファイルのイメージを簡単に生成できます。各マシンには、環境変数を読み取って適切に展開する展開スクリプトがあります。たとえば、ステージング サーバーのビルド スクリプトは、cstrings.config.staging を cstrings.config などにコピーします。

于 2010-06-30T04:52:21.850 に答える
0

これを行うには、少し異なる方法があるかもしれません。

運用サーバーで、各運用マシンの c:\windows\system32\drivers\etc\hosts ファイルに customdb のダミー エントリを作成します。それぞれが、そのマシンで使用するデータベースを指しています。次に、connectionString=customdb; を指定するだけです。すべての本番サーバーに。

これの唯一の欠点は、hosts ファイルにアクセスする必要があり、db を使用する必要があることです。

お役に立てれば

于 2010-06-27T10:03:12.900 に答える
0

パブリッシュ プロファイルはビルド プロファイルから独立していると思いますが、これは少し残念なことです。誤ってデバッグ構成を運用サーバーに展開する可能性があるからです。

ただし、MSDeploy を使用している場合は、そこにある web.config を変更する方法があります。詳細については、「 MSDeploy - パッケージのデプロイ後に接続文字列パラメーターを変更する」を参照してください。

于 2010-06-24T13:49:24.023 に答える