web-dev-qa-db-ja.com

localDBを使用してASP.NET MVC 4アプリケーションをローカルに展開する方法IIS Windows 7で?

Visual Studio 2013を使用するWindows 7でLocal IISを使用してASP.NET MVC 4アプリケーションを実行しようとすると、アプリケーションがlocalDB\v11.0に接続しようとすると、次のエラーが発生します

「/」アプリケーションのサーバーエラー。

SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:SQLネットワークインターフェイス、エラー:50-ローカルデータベースランタイムエラーが発生しました。自動インスタンスを作成できません。エラーの詳細については、Windowsアプリケーションイベントログを参照してください。)

2つのイベントログは

LocalDBインスタンスのレジストリ設定にアクセスしようとしたときに予期しないエラーが発生しました。エラーの詳細については、Windowsアプリケーションイベントログを参照してください。

そして

ローカルアプリケーションのデータパスを取得できません。ほとんどの場合、ユーザープロファイルは読み込まれていません。 LocalDBがIISで実行されている場合は、現在のユーザーに対してプロファイルの読み込みが有効になっていることを確認してください。

私がオンラインで見つけたほとんどのソリューションは、この投稿を参照しています: http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user -profile.aspx

説明した状況と私の状況の唯一の違いは、説明したエラーコードが0であるのに対し、エラーコードは50であるということです。ただし、提案された解決策は機能しません。

Modify setProfileEnvironmentをtrueに設定し、さまざまなprocessModelパラメーターとアプリケーションプールで何時間も遊んでいても、このエラーを回避できません。

17
allenylzhou

私も同じ問題に苦しんでいましたが、解決策があります。

IISサーバーに移動してから、アプリケーションが実行されているアプリケーションプールに移動します。アプリケーションプールの詳細設定には、[プロセスモデル]オプションがあります。 「ID」オプション:これはデフォルトでアプリケーションプールIDです。これをローカルシステムに変更すれば完了です。

およびApp_DataフォルダーをIIS serverのWWWフォルダーに入れることを忘れないでください

45
Neeraj Mehta

これを試してください、これはあなたの問題を解決します:

%windir%\ system32\inetsrv\config \にあるapplicationHost.configファイル、特にApplicationPoolsセクションを編集します。

IdentityTypeをNetworkServiceに変更して、新しく作成されたデータベースを使用します。

<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0">
   <processModel identityType="NetworkService" loadUserProfile="true" setProfileEnvironment="true" />
</add>
7
user3477321

LocalDBの目的のインスタンスにアクセスできるIDをアプリケーションプールが使用していることを確認してください。

次に、アプリケーションの認証設定でASP.NET偽装を無効にします。それ以外の場合、アプリケーションはIUSR_MachineNameアカウントを使用してデータベースにアクセスします。

このセットアップは、実稼働環境には適さない場合がありますが、データベースおよびアプリケーションの開発には十分な場合があります。

2

MVC 5.2.3.0を使用すると、同様の問題が発生しました...これをweb.configに追加しました。

<!-- Configure the Sql Membership Provider -->  
<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">  
  <providers>  
    <clear />  
      <add   
        name="SqlMembershipProvider"   
        type="System.Web.Security.SqlMembershipProvider"   
        connectionStringName="SqlConn"  
        applicationName="MembershipAndRoleProviderSample"  
        enablePasswordRetrieval="false"  
        enablePasswordReset="false"  
        requiresQuestionAndAnswer="false"  
        requiresUniqueEmail="true"  
        passwordFormat="Hashed" />  
  </providers>  
</membership>  

https://docs.Microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-aspnet-membership-provider

0
Pinch

たぶんこれは誰かを助けるでしょう。空のEpise3rver 7.5+バージョンのインストールでも同じ問題が発生しましたが、同僚がこの問題を抱えていないため、設定や構成に関係がないことは明らかでした。すべてのMSSQL関連アプリケーションのアンインストールを終了し、MsSQL Express 2014を再インストールしました。そして、うまくいきました! 2014をインストールする前に試しましたが、何も変更されなかったため、2014を再度インストールする前にMsSQL関連のすべてをアンインストールしました。それが役に立てば幸い。

0
Daarwin