選択した Web 公開プロファイルに依存して接続文字列 (またはサーバー ホストのみ) を変更することはできますか? 多分Web.config トランスフォームを使用していますか?
つまり、プロファイル「Test」の接続文字列「MyConnString」(公開された Web.config 内) を"Data Source='example.com,14333;..."
プロファイル「Production」に変更します。"Data Source=./SQLExpress;..."
選択した Web 公開プロファイルに依存して接続文字列 (またはサーバー ホストのみ) を変更することはできますか? 多分Web.config トランスフォームを使用していますか?
つまり、プロファイル「Test」の接続文字列「MyConnString」(公開された Web.config 内) を"Data Source='example.com,14333;..."
プロファイル「Production」に変更します。"Data Source=./SQLExpress;..."
これはまさに、Web 構成変換が作成された目的です。投稿で提供したリンクには、特に接続文字列に対してこれを行うためのチュートリアルがあります。
変換を開始するには、プロジェクト エクスプローラーで web.config ファイルを右クリックし、[構成変換の追加] を選択します。ソリューション構成に ConfigA と ConfigB があると仮定すると、Web.ConfigA.config と Web.ConfigB.config という 2 つの新しいファイルが追加されます。
これらの新しいファイルを開くと、一連のコメントを除いて、かなり空になります。実際には、使用できる接続文字列の例が含まれています-次のようになります。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
このセクションのコメントを外し、"name" プロパティをベース web.config ファイルの接続文字列の名前に変更します。「connectionString」プロパティを、ConfigA に使用する実際の値に設定します。したがって、次のようになります。
<connectionStrings>
<add name="myConnectionString"
connectionString="Data Source=ConfigASqlServer;Initial Catalog=ConfigADatabase;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
ConfigB の目的の接続文字列を使用して、Web.ConfigB.config ファイルに対してプロセスを繰り返します。
Visual Studio で Publish コマンドを使用すると、ベースの web.config ファイルが自動的に変換され、"connectionString" 属性が発行時の構成に設定されます。