EDMX .NET 4.5到4.0?
我们正在使用entity framework,当我们的项目设置为构建.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文件之外还有其他解决方案吗?
假设您不使用.NET Framework 4.5附带的function(枚举,空间类型,具有多个结果集的存储过程),您可以执行以下操作(请确保备份文件以防万一):
- 创建一个面向.NET Framework 4.5的新控制台应用程序
- 将edmx文件添加到项目中
- 将项目重新定位到目标.NET Framework 4(转到项目属性,更改目标框架版本)
这会导致您的edmx降级为v2。
或者,您可以手动将xml命名空间和版本更改为v2。 您可以在此处找到用于每个工件版本的命名空间:
- EDMX
- CSDL
- SSDL
- MSL
编辑请注意,使用EF6 / EF6.x,您可以在.NET Framework 4上使用Edmx v3,从而获得以前仅在.NET Framework 4.5上可用的所有优点(如枚举)
为了它的价值我将目标框架切换回4.5,重新编译解决方案,得到一堆错误,将其切换回4.0并得到消息:
“成功为新目标框架重建了edmx”
从那里我能够重新编译没有任何名称空间错误耸肩
请注意,对于VS 2012上的用户,如果要在edmx v3上保留.Net 4项目,则需要单独安装。 适用于Visual Studio 2012的entity framework6工具 – Jeff 1月27日2:09
Pawel的回答上面的评论解决了我的问题。 我将它复制到自己的答案中,以便人们可以找到它。