【问题标题】:error 40: the type integer is not qualified with a namespace or alias错误 40:类型整数未使用命名空间或别名限定
【发布时间】:2012-12-20 09:51:01
【问题描述】:

好的,这既是一个问题,也是一个解决方案。我在部署一个非常简单地使用 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 vs. W7)之间存在的错误还是我的开发环境设置不正确? 2) 在我的 XP 机器上,如何在 xml 视图中编辑我的 .edmx 文件?是否可以在 VS 中使用,还是必须使用文本编辑器?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我的 .edmx 文件是完全自动生成的。整个项目非常简单。一个 windows 窗体,一个 .edmx,一个 program.cs。没有不寻常的或自定义的包含或 dll。唯一不标准的参考是 DB2 (IBM.Data.DB2)。
    • 我刚刚检查了其中一台部署机器。它正在运行 .Net Framework 4.0(与开发机器相同),但部署机器是 64 位的。发展是 32。这可能是问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2011-09-24
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多