好的,这既是一个问题,也是一个解决方案。我在部署一个非常简单地使用 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 中使用,还是必须使用文本编辑器?