0

私はMVCが初めてなので、少し混乱してください。次のプロジェクトを含む .NET 4.5 ソリューションがあります。

  • Parkalot.Entity (エンティティ クラスを含む)
  • Parkalot.Database (データ コンテキスト クラスを含む)
  • Parkalot.Mvc4AspxClient (Web クライアント)

すべてのプロジェクトは、NuGet を使用して EntityFramework 5 で構成されており、すべてのプロジェクトは .NET 4.5 を対象としています。すべてが Any CPU に設定されています。64 ビット Windows 8 Pro での Visual Studio 2013 Ultimate Preview (問題ではありません)。

データ コンテキストを使用して Web クライアントの Global.asax からデータベースにアクセスしようとすると、問題なく動作するため、Web クライアントの時点までは問題ありません。

[Empty MVC Controller]コントローラーを追加するとき、テンプレートを選択する限り、正常に機能します。テンプレート タイプのコントローラーを追加し[MVC Controller with read/write actions and views, using Entity Framework]、Parkalot.Entity.Tenant をモデル クラスとして選択し、Parkalot.Database.Context をデータ コンテキスト クラスとして選択しようとすると、次のエラーが発生します。

Unable to retrieve metadata for 'Parkalot.Entity.Tenant'. Could not load file or assembly
'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or 
one of its dependencies. The located assembly's manifest definition does not match the 
assembly reference. (Exception from HRESULT: 0x80131040)

関連している場合は、次のコンパイル時の警告も表示されます。

C:\...\Microsoft.Common.CurrentVersion.targets(1613,5): warning MSB3247:
    Found conflicts between different versions of the same dependent assembly.
    Please add the following binding redirects to the "runtime" node in your
    application configuration file:

     - Parkalot.Mvc4AspxClient ->
        C:\...Parkalot.Mvc4AspxClient\bin\Parkalot.Mvc4AspxClient.dll

このソリューションは、もともと VS2010 で作成され、その後 VS 2013 および .NET 4.5 にアップグレードされました。それが原因なのかなと思っているのですが、どう直せばいいのかわかりません。

編集:エラーが示すようにバージョン 4.4.0.0 を検索すると、次のものが見つかりました!

C:\...\Parkalot.WinFormsClient\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.WinFormsClient\Visual Studio\app.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
C:\...\Parkalot.Library\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Library\Visual Studio\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
C:\...\Parkalot.Entity\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Entity\Visual Studio\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
C:\...\Parkalot.Database\App.config(8):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Business\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Business\Visual Studio\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
C:\...\Parkalot.Configuration\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Test\App.config(5):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.WebFormsClient\Web.config(9):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
C:\...\Parkalot.Mvc4AspxClient\Web.config(9):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
C:\...\Parkalot.Mvc4RazorClient\Web.config(9):
 - <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
4

2 に答える 2

0

私は同じ問題を抱えていて、\bin ディレクトリからファイルを削除することで解決しました。

于 2014-01-20T23:30:07.773 に答える