代码之家  ›  专栏  ›  技术社区  ›  firebird

EDMX.NET 4.5到4.0?

  •  4
  • firebird  · 技术社区  · 11 年前

    我们使用的是实体框架,当我们的项目设置为构建.NET 4.5时,我们创建了EDMX。现在我们想切换到.NET 4.0,但当我们这样做时,EDMX文件会出现编译错误。

    它指出以下错误:

    Error 10027: The XML namespace for the conceptual model's schema element is not supported on this project's target framework version.
    

    除了重新创建EDMX文件之外,还有其他解决方案吗?

    3 回复  |  直到 11 年前
        1
  •  4
  •   Pawel    10 年前

    假设您不使用.NET Framework 4.5附带的功能(枚举、空间类型、具有多个结果集的存储过程),则可以执行以下操作(一定要备份文件以备不时之需):

    • 创建一个针对.NET Framework 4.5的新控制台应用程序
    • 将edmx文件添加到项目中
    • 将项目重定目标为.NET Framework 4(转到项目财产,更改目标Framework版本)

    这将导致您的edmx降级到v2。

    或者,您可以手动将xml名称空间和版本更改为v2。您可以在这里找到每个版本的工件要使用的命名空间:

    编辑 请注意,使用EF6/EF6.x,您可以在.NET Framework 4上使用Edmx v3,从而获得以前仅在.NET Framework 4.5上可用的所有goodnes(如枚举)

        2
  •  2
  •   Bauhaus    10 年前

    值得一提的是,我将目标框架切换回4.5,重新编译了解决方案,出现了一系列错误,并将其切换回4.0,得到了以下消息:

    “已成功重建新目标框架的edmx”

    从那时起,我能够在没有任何命名空间错误的情况下重新编译 耸肩

        3
  •  2
  •   Bakanekobrain    9 年前

    注意,对于VS 2012上的用户,需要单独安装 如果您想在edmx v3。 Entity Framework 6 Tools for Visual Studio 2012 杰夫1月27日2:09

    帕维尔回答的上述评论解决了我的问题。我正在把它复制成自己的答案,这样人们就能找到它。