4

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アプリケーションのイベントログを参照してください。

4

1 に答える 1

5

同様のエラーがありました。アプリケーション イベント ログを見ると、2 つの異なるエラーが繰り返されていることがわかりました。私はそれらをグーグルで検索し、解決策を説明したこのブログ投稿を見つけました. どうやら Windows 7 SP1 では、%windir%\system32\inetsrv\config\ にあるapplicationHost.configを編集して変更する必要があります。

<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0" />

<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>

私はこれを行いましたが、まだ機能していませんでした。GUIDS で名前を付けたネットワーク サービスがあることがわかり、それらに同じプロパティを追加しました。すべてのアプリケーション プールをリサイクルした後、問題は解決しました。

お役に立てれば。おそらく、より多くの知識を持つ人が、このすべての背後にある理由を説明できるでしょう.

于 2012-08-27T17:36:19.157 に答える