DefaultConnectionをappsettings.jsonファイルからAzureのアプリケーション設定に追加しようとしましたが、Azureは接続文字列を上書きしません。
私が見つけることができるすべての記事またはブログは、appsettings.jsonファイルに記載されているとおりに接続文字列名を追加するだけで、残りはAzureが行う必要があります(例 https://tehremo.wordpress。 com/2016/10/07/override-connection-strings-app-settings-in-asp-net-core-and-Azure-app-service / )ただし、アプリケーションが公開されると、ローカル接続が使用されます文字列。
Startup.csファイルは次のようになります。
注:VSTS継続的デリバリーと「Deploy Azure App Service」リリースタスクを使用して公開しています。
私はちょうど同様の問題を抱えていました(問題はPostgreSQLの接続文字列タイプにあったので、カスタムに変更する必要がありました)、今ではうまくいきますので、これらは次のようなものです:
以下の私のコメントからの追加情報:
Azure GUI(接続文字列、アプリケーション設定)は内部で環境変数を使用するため、appsettings.jsonは同じままです。
appsettings.jsonの値をVSTSのリリース中に上書きする必要がある場合(Azureに公開する前に)、ColinのALMコーナービルド&リリースツールを使用できます。 ColinのALMコーナービルドおよびリリースツール および チュートリアル へのリンクがあります。
@pasulに感謝します。あなたの助けは非常に高く評価され、代替ソリューションを見つけるのに役立ちました。 VSTSタスクを使用してデプロイし、アプリケーション設定を置き換えるには、リリースタスクに変数を追加し、変数置換のために問題のjsonファイルをタスクに渡す必要があります。
「Azure App Serviceのデプロイ」リリースタスクでは、「ファイル変換と変数の置換」セクションが表示されます。ここで、変数値を交換するjsonファイルへのパスを指定します。
次に、リリース環境のオプションボタンをクリックする必要があります。ポップアップメニューに変数を設定するオプションが表示されます。
ここから、変更するjsonプロパティを変数として追加できます。私の場合、接続文字列。次のようになります。
「ConnectionStrings.DefaultConnection」
次に、接続文字列値を入力します。 VSTSは、展開時にこれらの値を交換します。