0

實體框架模板和菜單項在64位XP上的Visual Studio 2010 Ultimate中產生錯誤。在VS2010中安裝實體框架4.2

Visual Studio中的「Reverse Engineer Code First」菜單項告訴我System.Data.Entity.dll的版本4.0.0.0無法在GAC中找到,就像項目模板一樣。

我運行了4.1 msi和4.2 nuget。因此,我有以下的7個地點的dll的版本:

  • 的Windows \ Microsoft.NET \框架\ v4.0.30319 \
  • 的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \
  • 的Windows \ Microsoft.NET \裝配\ GAC_MSIL \ policy.4.0.system.data.entity \ v4.0_0.0.0__b77a5c561934e089 \
  • Program Files文件\參考大會\微軟\框架\ v3.5版本\
  • Program Files文件(x86)\ Reference Assemblies \ Microsoft \ Framework \ v3.5 \
  • Progr早上文件(x86)\參考大會\ Microsoft.NetFramework \ V4.0 \
  • 程序文件(x86)\參考大會\ Microsoft.NetFramework \ V4.0 \資料\客戶端\

任何人有任何建議?在我看來,「微軟推薦的用於新應用程序的數據訪問技術」不應該如此難以安裝。

+0

據我所知,您不會將它安裝到您的GAC中。 Nuget會把最新的內容放到你的項目中,至少這是版本4.1的方式。 – ShelbyZ

+0

dll也在錯誤消息中提到的位置gac – Paul

+0

好吧,那是比我想象的更爲怪異的東西。也許你需要首先安裝版本4,因爲我只認爲4.1和4.2是它的核心附加型功能。 – ShelbyZ

回答

4

實體框架4.0(System.Data.Entity.dll)是.NET 4.0的一部分。沒有單獨的下載。 EF 4.1和EF 4.2是EntityFramework.dll(而不是System.Data.Entity.dll)的分發。 EF 4.2僅作爲NuGet發佈,並未安裝到GAC。

反向工程師代碼優先不是這些工具中的任何一個的一部分。它是EF Power Tools CTP 1的一部分,它很可能依賴於EF 4.1(它在EF 4.2之前發佈,並有可能不適用於EF 4.2)。這個工具本身與實體框架的功能沒有關係。

+0

一個極好且最需要的解釋,我非常感謝。這可能重構問題,但不解決問題。 – Paul

-1

使用nuget命令行工具安裝EF6左右。然後在你的msvs解決方案資源管理器添加引用,瀏覽到C:\ Workplace \ C:\ Workplace \ EntityFramework.6.1.3 \ lib \ net45然後添加.dll,* SQLEntityFramework.dll或* EntityFramework.dll文件。