Visual Studio 2010 с .NET 4.0 не распознает System.Web.UI.DataVisualization.Charting - PullRequest
4 голосов
/ 26 ноября 2011

Я использую Visual Studio 2010 с .NET 4.0.

Я только начал использовать MS-графики.Когда я завершаю проект, я получаю следующую ошибку:

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

А также, в моем коде, эта строка имеет волнистую линию под ней, указывающую, что пространство имен не может быть найдено:

using System.Web.UI.DataVisualization.Charting;

Однако, если я перейду к своему локальному хосту на страницу, на которой есть диаграмма, она хорошо отрисовывается.

Другая странная вещь заключается в том, что когда я компилирую (CTRL + SHIFT + B), я получу3 ошибки компиляции при первой компиляции, затем, когда я делаю это снова, сразу после этого я получаю 16.

Даже при том, что я получаю ошибки компиляции выше, я все равно могу запустить приложение, и все работает нормально, нодействительно раздражает, что он не скомпилируется, поэтому я, должно быть, делаю что-то не так.

Любая помощь с этим будет очень признательна.

Спасибо.

Ответы [ 8 ]

7 голосов
/ 07 мая 2012

Ладно, разобрался с проблемой.

Я посмотрел в Google ... StackOverflow и нашел эту страницу, но я знал, что проблему не нужно устранять, начиная заново.

У меня есть ВСЕ ссылки и исправлен файл web.config, и я все еще получаю ошибку.

Ответ - изменить код .Designer с

protected global::System.Web.UI.WebControls.Chart chartDailyVolume;

до

protected global::System.Web.UI.DataVisualization.Charting.Chart chartDailyVolume;

Я скопировал и вставил код из другого проекта visual studio 2010 на страницу, и дизайнер фактически связал его неправильно. Когда я перетащил другую диаграмму на страницу, а затем удалил ее и скомпилировал нормально, я сравнил проверенный код из TFS с новым исправлением. Таким образом, я заметил, что Designer.cs на самом деле сгенерировал его неправильно из копирования и вставки, даже если оба были проектами решения Visual Studio 2010 (оба с Target Framework из .NET Framework 4)

5 голосов
/ 17 февраля 2012

Нажмите Добавить ссылки в своем проекте и на вкладке .NET Components добавьте System.Web.DataVisualization .Это должно решить вашу проблему.

2 голосов
/ 26 ноября 2011

добавить ссылку на System.Web.DataVisualization.dll, добавить элемент управления диаграммы на свою страницу и удалить элемент управления для настройки web.config и т. Д.

Проверьте эти записи в Web.config .. если они доступны, то они должны хорошо работать.

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </controls>
</pages>

2

<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

3.

 <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
1 голос
/ 09 марта 2012

К сожалению, ничего из этого не сработало.Я закончил тем, что создал новое решение и добавил весь код, и он работал правильно.Должно быть, где-то был гремлин, которого я не смог найти.

0 голосов
/ 04 декабря 2015

Я закончил тем, что создал новое решение и добавил весь код и работал правильно. Должно быть, где-то был Гремлин, которого я не смог найти.

Ваш гремлин, скорее всего, жил в файле конструктора страницы, которая вызывает элемент управления. Это был мой случай. Причиной проблемы было редактирование файла .aspx и добавление элемента управления во время работы отладчика - файлы конструктора нельзя редактировать в этом режиме. Необходимо добавить отладчик, чтобы добавить элементы управления.

После исправления перестройте решение, чтобы исправить файлы .dll.

Да, если начать с нуля, это исправит визуальный сбой студии в файле конструктора, но это не всегда возможно.

0 голосов
/ 07 августа 2012

Это решение (создание нового проекта) сработало для меня.В отличие от многих других людей с этой проблемой, я не использовал конструктор и не использовал web.config (настольное приложение).Воссоздавая новый проект, а затем добавив ссылку, я смог ссылаться на компоненты и методы.

"К сожалению, ничего из этого не сработало. Я закончил тем, что создал совершенно новое решение, добавил весь код, и он работал правильноДолжно быть, где-то был гремлин, которого я не смог найти. "

0 голосов
/ 26 ноября 2011

В разделе Ссылки на проекты добавьте System.Web.DataVisualization.dll

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

Ваш реальный код не тот, который выполняется, поскольку он не компилировался.Если работающий экземпляр все еще работает правильно, вероятно, dll находится где-то в папке bin, где находится ваш exe-файл.

0 голосов
/ 26 ноября 2011

Вы добавили DLL в качестве ссылки в свой веб-проект? Похоже, вы только что включили его в папку bin или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...