VS2010の各パブリッシュプロファイルの異なる接続文字列
-
28-09-2019 - |
質問
選択したWebパブリッシュプロファイルに依存する接続文字列(またはサーバーホストのみ)を変更することは可能ですか?多分使用しています web.config Transform または他の途方もなく?
私はプロファイルの「テスト」接続文字列「myConnString」を変更することを意味します(公開されたweb.config) "Data Source='example.com,14333;..."
プロフィール「生産」 - へ "Data Source=./SQLExpress;..."
解決
これはまさにWeb構成変換のために作成されたものです。投稿で提供されたリンクには、接続文字列専用にこれを行うというウォークスルーがあります。
Transformsから始めるには、Project ExplorerのWeb.Configファイルを右クリックして、「Config Transformsの追加」を選択します。ソリューション構成にconfigaとconfigbがあると仮定すると、2つの新しいファイル、web.configa.configとweb.configb.configが追加されます。
これらの新しいファイルを開くと、コメントの束を除いて、それらはかなり空になります。実際には、使用できる接続文字列の例が含まれています。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
このセクションを介して、「名前」プロパティをベースweb.configファイルの接続文字列の名前に変更します。 configaに使用する実際の値に「connectionString」プロパティを設定します。だから、このように:
<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でパブリッシュコマンドを使用すると、Base Web.Configファイルを自動的に変換し、公開時に「ConnectionString」属性を設定します。