在Windows 2003和XP中运行“migrate.exe”实体框架6.0.2迁移“不是有效的win32应用程序”例外

时间:2014-01-29 16:41:46

标签: entity-framework entity-framework-6

我们的产品需要与包括Server 2003和XP在内的Windows版本兼容。

我们拥有代码第一个具有各种迁移的实体框架项目。

我们正在使用实体框架6.0.2 nuget包中提供的“migrate.exe”文件版本6.0.21211.0来部署这些迁移来创建或更新数据库。

当我们在Visual Studio 2010中使用XP本身或使用Visual Studio 2013安装Windows时,每次运行“migrate.exe”时都会在xp或server 2003机器上安装软件包,我们将获得“无效的win32应用程序” “例外。

为什么“migrate.exe”不能在Windows XP和Windows Server 2003上运行,这是因为它们是不再真正支持的操作系统吗?

2 个答案:

答案 0 :(得分:3)

我设法通过下载6.0.2版本的实体框架的源代码,在属性中取消签名,然后通过.net 4.0而不是4.5通过将解决方案配置更改为Release40来解决此问题。

源代码可以在这里找到:

http://entityframework.codeplex.com/SourceControl/changeset/7648d33dfb53589d9c32b605c61758a5a6c0b80b

我发现很难找到它。

答案 1 :(得分:0)

您可能没有在失败的计算机上安装.NET Framework。

(作为旁注,我相信XP和2003很快就会失去支持,所以你可能想升级你的环境......)