System.Windows.Forms.DataVisualization命名空间在一个类中很好但在另一个类中没有

时间:2009-02-20 16:34:35

标签: c# .net winforms namespaces

我收到此错误

The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Windows.Forms' (are you missing an assembly reference?)

以下是该课程的using部分:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows.Forms.DataVisualization.Charting;
using System.Windows.Forms.DataVisualization.Charting.Borders3D;
using System.Windows.Forms.DataVisualization.Charting.ChartTypes;
using System.Windows.Forms.DataVisualization.Charting.Data;
using System.Windows.Forms.DataVisualization.Charting.Formulas;
using System.Windows.Forms.DataVisualization.Charting.Utilities;

namespace myNamespace {
    public class myClass {
        // Usual class stuff
    }
}

问题是我在另一个类中使用相同的DataVisualization包含。我能想到的唯一不同的是,给出这个缺少的命名空间错误的类是解决方案项而不是特定于项目。这些项目通过链接引用它们。有人对这个问题有什么看法吗?我已经安装了图表组件,.Net 3.5 SP1和Visual Studio 2008的图表加载项。

更新:我将解决方案项目中的项目移动为我项目的常规成员,我仍然看到相同的行为。

更新2:从解决方案项目中删除项目并将它们放在我的项目下工作。另一个项目仍在引用文件,这就是我之前认为它没有用的原因。我仍然很好奇,为什么当类是解决方案项时我不能使用命名空间,但是在项目下面移动它们(没有修改,请注意)立即使它们可识别。 :\

3 个答案:

答案 0 :(得分:2)

编译的程序集不使用解决方案项。

http://msdn.microsoft.com/en-us/library/1ee8zw5t.aspx “它们可以被项目引用,但从不包含在解决方案或项目构建中”

据我所知,解决方案文件夹/项目实际上只是用于组织事物。

答案 1 :(得分:2)

您很可能错过了对DataVisualization DLL的引用。请注意,尽管它们共享System.Windows.Forms.dll的命名空间,但它们实际上并不包含在其中。

答案 2 :(得分:1)

您是否收到实际构建错误或只是曲线?尝试构建并查看输出窗口,它是成功还是失败?

在VS 2008 SP1中,C#引入了顶级错误曲折功能。如果您打开文件的解决方案项版本,它可能会因为缺少默认引用而波动。解决方案仍应正确构建。

如果不是这种情况,请尝试将文件直接添加到项目中(无链接)。看看是否可以消除错误。如果是这样,那么我们知道它必须与链接文件相关,它可以帮助追踪问题。