1

好的,这既是一个问题,也是一个解决方案。我在部署一个非常简单地使用 linq 和 EF 来查询几个 DB2 表并将结果显示到 datagridview 的解决方案时遇到了问题。它在开发机器上运行良好,但在我尝试的另外两台机器上,我会得到“错误 40:类型整数不符合命名空间或别名。”

在尝试了两天的各种解决方案后,我决定尝试在另一台机器上进行调试。

开发机器是带有 Visual Studio 2010 的 Windows XP。部署机器都是带有 VS 2010 的 Windows 7。

好吧,我立即注意到在部署机器上,VS 会给我一个错误列表(整数不合格等),这些错误没有显示在我的开发机器上。接下来我注意到的是,当我双击解决方案中的 .edmx 文件时,它以 xml 格式打开,而不是我正在使用的表格的可视显示。

在这个 xml 中,每个具有“整数”类型的属性/表列都带有下划线。嗯,这没有意义。这个 VS2010 不能识别其他 VS2010 自动生成的数据类型吗?出于绝望,我将“Type='integer'”的每个实例都更改为“Type='int'”它像魅力一样在所有3台机器上调试并运行。

所以,我的问题是:1)这是两个开发环境(XP 与 W7)之间存在的错误,还是我的开发环境设置不正确?2) 在我的 XP 机器上,如何在 xml 视图中编辑我的 .edmx 文件?是否可以在 VS 中使用,还是必须使用文本编辑器?

4

1 回答 1

0

您的 edmx 是否有一个包含文件,它定义了您的开发机器上的“整数”类型(或框架版本的差异)?当您切换到 int 时它会起作用,因为它是原始类型并且不需要定义。我只先完成了代码,所以这对我来说不是一个优势,但我认为你的错误信息给了你一个很好的提示。其他两个环境的 edmx(或包含文件)中没有对象整数的定义。在您的开发机器上,我认为这必须以下列形式存在:

  1. edmx/include 文件中某处的整数对象的定义
  2. 在这些相同文件中的某处整数的别名为 int
  3. 另一个版本的 .NET 可以识别开箱即用的整数?
于 2012-12-20T16:04:49.503 回答