错误40:类型整数未使用命名空间或别名限定

时间:2012-12-20 09:51:01

标签: visual-studio entity-framework integer int edmx

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

经过两天尝试各种解决方案后,我决定尝试在其他一台机器上进行调试。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

  1. edmx / include文件中某处的整数对象的定义
  2. 这些相同文件中某处的整数别名为
  3. EF的不同版本的.NET可识别开箱即用的整数?