Пространство имен System.Windows.Forms.DataVisualization Хорошо в одном классе, но не в другом - PullRequest
6 голосов
/ 20 февраля 2009

Я получаю эту ошибку

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 и надстройку Chart для Visual Studio 2008.

ОБНОВЛЕНИЕ: я переместил элементы из Элементов решения, чтобы они стали постоянными участниками моего проекта, и я все еще вижу то же поведение.

ОБНОВЛЕНИЕ 2: удаление элементов из элементов решения и помещение их в мой проект сработало. Другой проект все еще ссылался на файлы, поэтому я не думал, что он работал раньше. Мне все еще любопытно, почему я не мог использовать пространство имен, когда классы были элементами решения, но перемещая их под проектом (не обращая внимания на изменения), мгновенно делало их узнаваемыми. : \

Ответы [ 3 ]

2 голосов
/ 21 февраля 2009

Элементы решения не используются скомпилированными сборками.

http://msdn.microsoft.com/en-us/library/1ee8zw5t.aspx «На них могут ссылаться проекты, но они никогда не включаются в сборки решений или проектов»

Насколько я знаю, папки / элементы решений на самом деле просто предназначены для организации вещей.

2 голосов
/ 16 июня 2010

Скорее всего, вам не хватает ссылки на библиотеку DLL DataVisualization. Обратите внимание, что хотя они совместно используют пространство имен System.Windows.Forms.dll, на самом деле они не содержатся в нем.

1 голос
/ 20 февраля 2009

Получаете ли вы реальные ошибки сборки или просто загогулины? Попробуйте построить и посмотреть в окне вывода, оно успешно или неудачно?

В VS 2008 с пакетом обновления 1 (SP1) C # введена функция исправления ошибок верхнего уровня. Вполне возможно, что если вы откроете версию файла решения, он будет вертеться из-за отсутствия ссылок по умолчанию. Решение все равно должно быть правильно построено.

Если это не так, попробуйте добавить файл непосредственно в проект (без ссылки). Посмотрите, устраняет ли это ошибку. Если это так, то мы знаем, что это связано со связанным файлом, и это может помочь отследить проблему.

...