我有一个C#Windows Forms应用程序,它使用SQL Server 2008 R2,.NET Framework 4,.NET Framework 4 Client和Entity Framework Code First。
计算机上存在SQL Server 2008 R2 Express,程序确实创建了数据库和表。
[更新] 我尝试安装.NET framework 4.5,但是收到了这条消息:
阻止问题:
此操作系统不支持.NET Framework 4.5
警告:
安装程序可能无法正常运行,因为Windows模块安装程序 此计算机上没有此服务。
操作系统是在VMware播放器内运行的Windows XP 2002 SP3。
[20xx年5月25日更新]:我发现链接here让我觉得问题只是ClickOnce无法在Windows XP上安装。但是,我在Visual Studio 2010中重新创建了设置并出现了相同的错误。
[20xx年5月26日更新]:我使用Visual Studio 2012和Entity Framework 5创建了一个测试项目,并且能够使用ClickOnce在Windows XP上成功安装。奇怪的是,我当时能够发布一个有用的大应用程序版本。 我不确定发生了什么。我还在我的测试计算机上安装了一个包含Entity Framework 6的程序 - 但是我的大型应用程序不会引用它。
答案 0 :(得分:1)
您是否尝试过安装.NET 4.5?
我知道这听起来很荒谬,但我们看到同样的问题:实体框架5.0(4.4)针对.NET 4.0,SQL Server CE上的代码优先。
安装.NET 4.5使问题消失。我们还在调查,因为我们还有几个Windows XP客户端。
<强>更新强> 实体框架5代码的一部分是.NET框架本身的一部分(这就是为什么.NET 4.0的4.4版本,例如不支持枚举,而4.5版本支持枚举)。
似乎这个问题与此有关,因为安装.NET 4.5无法解决这个问题。
对于Entity Framework 6,这些部分已移至Entity Framework,因此Entity Framework 6不再依赖于框架细节。我们已经更新到Entity Framework 6.0 alpha 3,一切似乎都很好。
现在,我不喜欢运行alpha代码,但这是我们能找到的唯一解决方案。