3

サイト内に webapi コントローラーを作成しようとしています。これはテンプレート コントローラーであり、Visual Studio が挿入したものと何も変わっていません。

コードは MVC4 サイト内にあり、エラーなしで完全に実行されますが、webapi コントローラーを呼び出すと、次のエラーが発生します。

ファイルまたはアセンブリ 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

EntityFramework nuget パッケージをアンインストールしました。ソリューション全体を検索すると、どのファイルにも見つかりませんが、このエラーが繰り返し発生します。

これに対する解決策として考えられる手がかりはありますか?

4

8 に答える 8

2

私も同じ問題を抱えていました。

すべてが機能していて、すべての Web API リクエストに対して 404 を返し始めました。

私はすべてを試しました..私の問題を解決した唯一のことは、EF 4.1.0.0 の参照をプロジェクトに追加し、それを Web.config に追加することでした。

私のソリューションのどこにもEFを使用または参照していないため、奇妙です。

私は 4.1 バージョンを持っていなかったので、ここからダウンロードしましたhttp://www.microsoft.com/en-us/download/details.aspx?id=26825


EF 4.1 が依存関係としてリストされている理由がわかりました。サイトを公開したいときにだけエラーが発生しました。 ホストサーバーにMVC 4がインストールされていなかったため、私がしたことは、展開可能な依存関係を追加してASP.NET MVCをチェックすることだけでした。_bin_deployableAssemblies フォルダーを見たとき

ここに画像の説明を入力

System.Web.Http.Data.EntityFramework.dll が目に留まり、すぐに逆コンパイルしたところ、そこで参照されている EF 4.1 が見つかりました。

ここに画像の説明を入力

于 2012-05-29T22:29:45.610 に答える
1

以下を web.config ファイルに追加してみてください。

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
        <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
于 2012-06-01T19:47:05.033 に答える
1

Arian さん、EF4 を使用しているときにストック VS テンプレートで何かを行うたびに、そのエラーが表示されます。

向きを変えて、ソリューションに Entity Framework を再度インストールします。Nuget マネージャーを起動するか、そのコンソールから実行します。

Install-Package EntityFramework 

(4.3.1 の場合)

Install-Package EntityFramework -Pre  

(5.0.0rcの場合)

参照にDLLが含まれていると(ところで、確認してください)、エラーは消えます

于 2012-05-27T23:30:06.897 に答える
0

これはテンプレート コントローラーであり、Visual Studio が挿入したものと何も変わっていません。

これらのテンプレートが原因で、Entity Framework が依存関係になる可能性があります。一部のテンプレートはDataControllers、EF を必要とする を生成します。注意深く読むと、テンプレートによって表示されるテキストに次のように表示されます: "Generate ...., using Entity Framework "

そうではなく、 simpleApiControllersがあり、EF をアンインストールした場合は、packages.configファイルを再確認して、そこにも Entity Framework への参照がないことを確認してください。

于 2012-06-04T09:31:37.723 に答える
0

.csprojメモ帳などのテキスト エディターでプロジェクトのファイルを開き、"EntityFramework" という語句を検索してみてください。ヒットした場合、その問題が何であるかについての手がかりが得られる場合があります。

于 2012-06-06T20:28:04.437 に答える
0

私の場合、.NET 4.0 を使用していたため、VS2012 (別のプロジェクトで必要) にアップグレードした後、EntityFramework 4.1 に戻す必要がありました。

VS 2010 のパッケージ マネージャー コンソールで次のコマンドを実行します。

PM> インストール パッケージ EntityFramework -バージョン 4.1.10715.0

于 2013-09-14T18:49:40.350 に答える