没有Visual Studio 2010 SP1和ADO.NET Entity Framework 4.1的实体数据模型(EDMX)模板

35

我在使用Visual Studio 2010 SP1和ADO.NET Entity Framework 4.1的模板时遇到了很多问题。

我注意到其他人也有这些问题,并提出了类似的问题,但我认为他们没有提供足够的信息来解决问题。

问题:ADO.NET实体数据模型模板根本不会出现

屏幕截图:http://c0848462.cdn.cloudfiles.rackspacecloud.com/f067439f6e8f25d5fd36761fd1efc88a74fd765ff1.png

解决方案文件

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "localhost", "http://localhost:36626", "{9BA46BAD-E736-4943-ACAD-EDE2E7A1A21E}"
    ProjectSection(WebsiteProperties) = preProject
        UseIISExpress = "true"
        TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
        Debug.AspNetCompiler.VirtualPath = "/localhost_36626"
        Debug.AspNetCompiler.PhysicalPath = "..\..\My Web Sites\Jantire\"
        Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_36626\"
        Debug.AspNetCompiler.Updateable = "true"
        Debug.AspNetCompiler.ForceOverwrite = "true"
        Debug.AspNetCompiler.FixedNames = "false"
        Debug.AspNetCompiler.Debug = "True"
        Release.AspNetCompiler.VirtualPath = "/localhost_36626"
        Release.AspNetCompiler.PhysicalPath = "..\..\My Web Sites\Jantire\"
        Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_36626\"
        Release.AspNetCompiler.Updateable = "true"
        Release.AspNetCompiler.ForceOverwrite = "true"
        Release.AspNetCompiler.FixedNames = "false"
        Release.AspNetCompiler.Debug = "False"
        SlnRelativePath = "..\..\My Web Sites\Jantire\"
    EndProjectSection
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {9BA46BAD-E736-4943-ACAD-EDE2E7A1A21E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {9BA46BAD-E736-4943-ACAD-EDE2E7A1A21E}.Debug|Any CPU.Build.0 = Debug|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
EndGlobal

相关系统规格:

  • Visual Studio 2010专业版SP1
  • ADO.NET实体数据模型4.1
  • ASP.NET MVC 3工具更新
  • Windows 7 x64 SP1
  • WebMatrix

我正在使用WebMatrix和Visual Studio 2010专业版SP1编写代码。


有没有解决方案?我遇到了类似的问题。我可以在添加/删除程序中看到EF 4.0。 - Sandeep G B
截图链接已损坏。 - itsho
11个回答

57

打开VS2010的安装媒体,浏览到“:\WCU\EFTools”。

在这里,您将找到两个文件:

ADONETEntityFrameworkTools_enu.msi

ADONETEntityFrameworkTools_enu.cab

  1. 将这些文件复制到计算机上的一个文件夹中。
  2. 在该文件夹中创建一个日志文件,例如命名为“Log.txt”。
  3. 打开cmd提示符(可能需要以管理员身份运行cmd提示符),并导航到包含msi和cap文件的文件夹中。
  4. 运行此命令:

    ADONETEntityFrameworkTools_enu.msi USING_EXUIH=1 /log "Log.txt"

安装需要一段时间,请耐心等待。

安装应该现在可在“控制面板->已安装程序”中看到,名称为“Microsoft Visual Studio 2010 ADO.NET Entity Framework Tools”。

当添加项目中的新项时,该项模板应在Visual Studio中可见。(添加新项->数据->ADO.NET实体数据模型)。

更多信息请参阅:http://msdn.microsoft.com/en-us/library/ee225240.aspx


1
很好,对我有用。请注意,一开始它并没有起作用。我不得不从“添加/删除程序”面板中卸载“Microsoft Visual Studio 2010 ADO.NET Entity Framework Tools”,然后再按照上述方法重新安装它。 - Gautam Jain
谢谢!你帮我解决了与VS11 beta相同的问题。对于VS11,文件夹是x:\packages\EFTools,你只需要将EFTools.msi文件复制到计算机上并运行它即可。效果很好! - Alex McBride
我不必运行您答案中指定的文件,但在我的安装媒体中找到了EFTools.msi解决了我的问题。谢谢! - Jason Higgins

7
实际上,您需要添加一个简单的类库项目,然后选择“添加新项”,接着您将会找到ADO.NET实体数据模型。
(似乎在较新的版本中,他们已经删除了此项目模板,并作为“新项目”提供。我一直在搜索它,然后发现它被归类为新项而不是新项目模板。虽然这个MSDN链接显示ADO.NET实体数据模型作为新项目 :( http://msdn.microsoft.com/en-us/data/ff830362

3
当您安装Visual Studio时,有一个名为Microsoft Visual Studio 2010 ADO.NET Entity Framework Tools的单独组件。您可以通过检查已安装的程序来检查此组件是否已安装在计算机上。如果未安装该组件,则可能需要从VS安装媒体重新安装它。
您提到您有专业版,但我仍然希望您的“添加新项”包含更多功能 - 我没有看到Windows Forms、WPF和Workflow的分组-所有这些都是有效的分组。看起来您的安装方式不完整,或者您正在使用一些项目模板,可能不提供所有的分组。
安装EF 4.1不会添加EF 4的必要部分,它们是VS安装的一部分。EF 4.1将这些功能作为先决条件。

该特定项目隐藏了许多不同的模板,但 Entity Framework 并不是其中之一。这是缺失模板组的屏幕截图,以及已安装 ADO.NET Entity Framework 工具的截图 http://i56.tinypic.com/1zo7ue1.png - Jarred Sumner
该项目使用哪个模板?该模板使用哪个版本的.NET? - Ladislav Mrnka

2

我的解决方案是,我的全新项目在项目设置中不知何故被设置为使用.NET 2.0。一旦我将其设置为4.5,模板就出现了。


1

尝试恢复majidgeek答案中提供的默认项目模板并没有帮助我(使用Visual Studio 2012)。

修复Visual Studio也无济于事。

我曾经使用MSDN的Web Installer安装VS2012,因此没有安装介质来应用AH答案中建议的解决方案。

然而,这里的被接受的答案解决了我的问题:

http://www.datazx.cn/Fv7p5a/xw-US/oaax2pu/2q7xs6/d8x6rssc-b4mt-fsix-bc6c-ct8mf8d6fsbc23rsdfd.html

我终于弄明白了。我从C:\ProgramData\Package Cache\子文件夹运行了EFTools.msi,这只允许我“卸载”或“修复”。我尝试了修复,但是遇到了相同的问题,所以我选择了“卸载”,然后再次运行它,它允许“安装”。在此安装之后,我现在可以添加实体数据模型。
另外,在forums.asp.net上“Visual Studio 2012 Express for Web中缺少Entity Framework模板”的接受答案表明,通过“开始->控制面板->程序和功能”修复Visual Studio 2012 enu的Entity Framework Designer也可能有效(由于我的当前1点Stackoverflow声望,我只能发布两个链接,因此不提供确切来源)。
另一个可能的解决方案:
我的问题是:Visual Studio安装在D盘,而Entity Framework安装程序将程序包放置在c:...\VisualStudio 10.0\Common7....\ItemTemplates文件夹中。 --> 将AdoNetEntityDataModelCSharp.zip复制到D盘并运行devenv /installvstemplates。 这对我有用。 编辑: 还必须从IDE文件夹、PrivateAssemblies和PublicAssemblies中复制各种DLL。 然后运行devenv /ResetSkipPkgs。

http://social.msdn.microsoft.com/Forums/en-US/c059069b-eae4-48b4-a06e-ffd5f186077b/adonet-data-entity-model-template-missing-in-vs-2010-ultimate?forum=adodotnetentityframework

我也将VS安装在非默认路径下(不同的磁盘分区),因此这确实可能是问题的潜在原因之一。


1

获取模板的最快方式! - OneWorld

0

0

如果您已经安装了完整的VS,但模板未出现,请尝试运行VS2010设置并单击修复/重新安装,等待处理完成后重新启动系统。


0
在 C:\ProgramData\Package Cache 中搜索 EFTools.msi 并安装最新版本。

0

我终于成功添加了模板。我不得不重新安装EntityFramework 4.1,然后重新安装Visual Studio模板。以下是步骤:

  1. http://www.microsoft.com/en-gb/download/details.aspx?id=8363下载并安装EntityFramework 4.1
  2. 使用Visual Studio命令提示符,导航到IDE,运行devenv /installvstemplates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接