8

ASP.NETMVC3Webアプリケーションは正常に機能していました。しかし、PCを再起動してから、MS VS 2010でアプリケーションを更新しようとすると、アプリケーションの実行中にエラーが表示されます。

Could not load file or assembly 'EntityFramework' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))

説明:

An unhandled exception occurred during the execution of the current web request. Please 
review the stack trace for more information about the error and where it originated in the code. 

例外の詳細: System.IO.FileLoadException:ファイルまたはアセンブリ'EntityFramework'またはその依存関係の1つを読み込めませんでした。パラメータが正しくありません。(HRESULTからの例外:0x80070057(E_INVALIDARG))

ソースエラー:

現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。

アセンブリの読み込みトレース:次の情報は、アセンブリ'EntityFramework'を読み込めなかった理由を特定するのに役立ちます。

WRN:アセンブリバインディングログがオフになっています。アセンブリバインドの失敗のログを有効にするには、レジストリ値[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)を1に設定します。注:アセンブリのバインドの失敗のログには、パフォーマンスの低下があります。この機能をオフにするには、レジストリ値[HKLM \ Software \ Microsoft \ Fusion!EnableLog]を削除します。

スタックトレース:

[FileLoadException: Could not load file or assembly 'EntityFramework' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))]

[FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))]
System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +39
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +132
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +144
System.Reflection.Assembly.Load(String assemblyString) +28
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +618
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +209
System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +94
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +332
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +591

[HttpException (0x80004005): Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8946484
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +258

次に、すべてのWindows一時ファイルとASP.NET一時ファイルをクリアしてから、アプリケーションを再実行します。しかし、状況は改善されていません。これを解決するのを手伝っていただけませんか。ありがとうございます。

4

5 に答える 5

14

エンティティフレームワークツールを再度追加するだけです-ライブラリパッケージマネージャー->パッケージマネージャーコンソール

タイプ:

インストール-パッケージEntityFramework

復元されます(Visual Studio2010のv5バージョンであるv4.4を実行しています)

「クリーン」にしたい場合は、最初にアンインストールを試すことができます。失敗しても害はありません。

アンインストール-EntityFrameworkをパッケージ化します
于 2012-10-06T14:29:42.180 に答える
14

他の回答のどれもあなたのために機能しない場合(この同じ問題に関するSOに関する他の同様の質問への回答を含む)、私のために機能した次のことを試してください(http://forums.devart.com/viewtopic.php?f=に従って) 3&t = 26327):

問題を解決するには、アプリケーションの*.configファイルに次のXMLを追加します。

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
      <bindingRedirect oldVersion="4.4.0.0" newVersion="5.0.0.0" />
    </dependentAssembly>
    </assemblyBinding>
  </runtime>
于 2013-07-30T20:40:25.223 に答える
8

すべてのプロジェクトが同じ.NETFrameworkをターゲットにしていることを確認してください。4.0を使用しているクラスライブラリを参照していた.NET4.5プロジェクトがあり、この問題が発生していました。4.5に変更すると正常に機能し、NuGetパッケージマネージャーコンソールを使用してEFをインストールできました。

于 2013-02-15T16:08:56.473 に答える
3

このエラーが発生していました。原因は他のいくつかの回答よりも単純であることが判明しました。異なるバージョンのEntityFrameworkを参照する2つのプロジェクトがありました。1つは最新バージョンを含むNuGetパッケージからのもので、もう1つはASP.NETMVC4テンプレートからのものでした。

私の修正は、MVC 4プロジェクトから古いバージョンのEF(5)への参照を削除し、NuGetを使用して最新バージョンをインストールすることでした。その後、すべてが正常に実行されました。

于 2013-11-17T05:35:56.680 に答える
2

同様の問題が発生し、ソリューション内のパッケージフォルダーとファイル内のパッケージへの参照を手動で削除してからpackages.config、パッケージマネージャーコンソールを使用して再インストールして修正する必要がありました。

于 2013-01-28T21:59:28.710 に答える