Visual Studio 2013/update 4を使用して「Azure WebJobとして発行」を使用してプロジェクトをデプロイすると、タイトルにエラーが表示されます。
.pubxmlファイルから次のマークアップを削除して修正しました。マークアップを削除した後、VSを終了/再起動する必要があります(または、VSが再び追加します)。
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>
問題の理由
変更および/または接続文字列の名前をweb.config
に追加します。
ソリューション
設定リンクを押して、ポップアップウィンドウから「設定」タブを選択します
すべての接続文字列からuse this connection string at runtime
のチェックを外します。
Save
ボタンをクリックして、ウィンドウを閉じます。 (Visual Studioを再起動する必要はありません)[〜#〜] note [〜#〜]
VS 2017を使用しています(コメントによると、これはVisual Studio 2013でも機能します)
注のためだけに
前の手順を実行した後、.pubxmlファイルが自動的に変更されたことに気付きました。ここに作成された違いがあります(私からの干渉なしに自動的に)
開発者にとってより簡単であり、特定のことを強制することなくビジュアルスタジオが問題を自分で解決できるため、これはより良い方法だと思います。
次のコンテンツを使用して、プロジェクトルートにParameters.xmlファイルを作成します。
<?xml version="1.0" encoding="utf-8" ?>
<parameters>
<parameter name="DefaultConnection-Web.config Connection String"
description="DefaultConnection"
defaultValue="Server=tcp:x.database.windows.net,1433;Database=x_db;User ID=x@y;Password=z;Trusted_Connection=False;etc." tags="" />
</parameters>
その他の欠落している構成要素もすべてここに追加できます。
Visual Studio 2015 Update 3を使用していますが、同じ問題に直面していました。私のために働いていることがわかった解決策は次のとおりです:
1)プロパティの下にある* .pubxmlファイルを開き、プロファイルを公開します。
2)PublishDatabaseSettingsセクションでPath属性を探します:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="eRecall.ETL.Models.erecallContext" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbCodeFirst">
<Source Path="DBContext" DbContext="eRecall.ETL.Models.erecallContext, eRecall.ETL" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
3)パス属性値を次のように設定します。
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="eRecall.ETL.Models.erecallContext" Order="1" Enabled="False">
<Destination Path="{deployment connection string}" />
<Object Type="DbCodeFirst">
<Source Path="DBContext" DbContext="eRecall.ETL.Models.erecallContext, eRecall.ETL" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
4)Azure Job Collection Schedulerで既存のwebjobデプロイメントを削除します。
5)Webジョブを再展開し、スケジューラからWebジョブを再実行すると、問題なく動作し始めます!
お役に立てれば。