好的,这既是问题也是解决方案。我在部署解决方案时遇到问题,该解决方案非常简单地使用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内部,或者我必须使用文本编辑器?
答案 0 :(得分:0)
您的edmx是否有一个include文件,它定义了开发机器上的“整数”类型(或框架版本的差异)?当你切换到int时它可以工作,因为它是一个原始类型,不需要定义。我只是先完成代码所以这对我来说不是一个优势,但我认为你的错误信息正在给你一个很好的提示。在其他两个环境中,edmx(或包含文件)中没有对象整数的定义。在您的开发机器上,我认为这必须存在: