私は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" />