Visual Studio 2012には、AzureプロジェクトとMVCWebプロジェクトなどを含むソリューションがあります。Webプロジェクトは、Entity FrameworkCodeFirstを使用しています。データベースはlocaldbです。Webプロジェクトをスタートアッププロジェクトとして設定すると、ローカルで正常に実行されます。コードファーストの変更はデータベースに伝播され、デバッグ時にアプリは正常に実行されます。Azureプロジェクトをスタートアッププロジェクトとして設定し、アプリファブリックの下でローカルに実行すると、アプリケーションにログインしてデータベースに初めてアクセスしたときに、以下のエラーが発生します。Azureにデプロイすると、アプリは正常に実行されます。SQL ServerManagementStudioを介してローカルでデータベースにアクセスできます。Webアプリがスタートアッププロジェクトとして設定されている場合、アプリはデータベースに正常にアクセスできます。データベースのアクセス許可かもしれないと思いましたが、そこで、localdbの接続文字列を変更して、信頼できる接続を使用しないようにし、sysadmin特権を使用してローカルデータベースに新しいログインを作成しました。同じエラー。
接続文字列は次のとおりです。
connectionString="Data Source=(localdb)\v11.0;Initial Catalog=[Database Name];User ID=[User Name];Password=[Password];Integrated Security=False; MultipleActiveResultSets=True;"
エラーは次のとおりです。
SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:SQLネットワークインターフェイス、エラー:50-ローカルデータベースランタイムエラーが発生しました。自動インスタンスを作成できません。エラーの詳細については、Windowsアプリケーションのイベントログを参照してください。