質問

選択した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」属性を設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top