1

WebMatrix を介して Azure に公開している MVC5 プロジェクトがあり、web.config で本番環境のデータベース サーバーの接続文字列を次のように定義しています。

<configuration>
  <connectionStrings>
    <add 
      name="MyProjectContainer"
      providerName="System.Data.EntityClient"
      connectionString="[metadata stuff];
        provider=System.Data.SqlClient;
        provider connection string=&quot;
          data source=x1.database.windows.net,1433;
          initial catalog=MyProject;
          Uid=x@x1;
          app=EntityFramework;
          Pwd=xxx
          &quot;"
    />
  </connectionStrings>

...ローカル開発の場合、web.Debug.config に次のようなエントリがあります。

<connectionStrings>
    <add xdt:Transform="Replace" xdt:Locator="Match(name)"
         name="MyProjectContainer"
         providerName="System.Data.EntityClient"
         connectionString="[metadata stuff];
           provider=System.Data.SqlClient;
           provider connection string=&quot;
             data source=MyDevServer;
             initial catalog=MyProject;
             integrated security=True;
             multipleactiveresultsets=True;
             App=EntityFramework
           &quot;"
           />

connectionStringweb.Release.config の変換を使用して web.config を空にすることはうまくいかないようだったので、このアプローチを選択しました。アプリを発行すると Azure で動作しますが、ローカルで実行しようとすると、Visual Studio はローカル サーバーではなく Azure データベースに接続しようとします。

だから私は2つの質問があります:

  1. WebMatrix でパブリッシュするときに変換が機能しないということで、何が欠けている可能性がありますか? 私がそれを機能させることができればconnectionString、メインの web.config を空にし、web.Debug.config と web.Release.config に正しい値を入れることができるからです。

  2. 変換を行う方法がわからない Visual Studio の何が問題になっていますか?

誰かがこれに苦労しましたか?

4

0 に答える 0