0

我有一个使用SQL Server 2008 R2、.NET Framework 4、.NET Framework 4 Client 和Entity Framework Code First的 C# Windows Forms应用程序。

机器上存在 SQL Server 2008 R2 Express,该程序确实创建了数据库和表。

这是消息的屏幕转储

[更新] 我尝试安装 .NET Framework 4.5,但收到以下消息:

阻塞问题:
此操作系统不支持 .NET Framework 4.5。



警告:

安装程序可能无法正常运行,因为 Windows 模块安装程序服务在此计算机上不可用。

用这个链接

操作系统是在VMware Player 中运行的 Windows XP 2002 SP3。

[20xx 年 5 月 25 日更新]:我在这里找到了一个链接,让我认为问题在于ClickOnce无法在 Windows XP 上安装。但是,我在 Visual Studio 2010 中重新创建了设置并出现了相同的错误。

[20xx 年 5 月 26 日更新]:我使用 Visual Studio 2012 和Entity Framework 5 创建了一个测试项目,并且能够使用 ClickOnce 在 Windows XP 上成功安装。奇怪的是,我随后能够发布我的大型应用程序的一个有效版本。我不确定发生了什么。我还在我的测试计算机上安装了一个包含 Entity Framework 6 的程序——但我的大型应用程序不会引用它。

4

1 回答 1

1

您是否尝试过安装 .NET 4.5?

我知道这听起来很荒谬,但我们看到了同样的问题:Entity Framework 5.0 (4.4) 以 .NET 4.0 为目标,SQL Server CE 上的 Code First。

安装 .NET 4.5 使问题消失。我们仍在调查,因为我们还有几个 Windows XP 客户端。

更新: Entity Framework 5 代码的一部分是 .NET 框架本身的一部分(这就是为什么 .NET 4.0 的 4.4 版本不支持枚举,而 4.5 的 5.0 则支持)。

似乎这个问题与此有关,因为安装 .NET 4.5 莫名其妙地解决了这个问题。

对于 Entity Framework 6,这些部分已移至 Entity Framework,因此 Entity Framework 6 不再依赖于框架细节。我们已经更新到 Entity Framework 6.0 alpha 3,一切看起来都很好。

现在,我不喜欢运行 alpha 代码,但这是我们能找到的唯一解决方案。

于 2013-05-16T14:43:52.660 回答