VS2005, C # - комбинированные поля с привязкой к данным - код по умолчанию дает мне ошибки по умолчанию - PullRequest
1 голос
/ 21 мая 2009

В части кода designer.cs я просто управлял базой данных комбо-боксов (она предварительно просматривала данные, и это работает), но когда я пытаюсь скомпилировать, он выдает мне 2 уникальные ошибки:

1) Ошибка 1 Имя типа «mtdDesktopApplicationDataSet» не существует в типе «DesktopApplication.DesktopApplication»

2) Ошибка 2 Имя типа «mtdDesktopApplicationDataSetTableAdapters» не существует в типе «DesktopApplication.DesktopApplication»

Первая ошибка находится в первой строке, другая ошибка отображается там, где mtdDesktopApplicationDataSetTableAdapters (4 строки)

Кажется, все соответствующие файлы есть, но они просто не подключаются, верно?

this.mtdDesktopApplicationDataSet = new DesktopApplication.mtdDesktopApplicationDataSet();
this.tblStudyBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tblStudyTableAdapter = new DesktopApplication.mtdDesktopApplicationDataSetTableAdapters.tblStudyTableAdapter();
this.tblDeliveryGroupBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tblDeliveryGroupTableAdapter = new DesktopApplication.mtdDesktopApplicationDataSetTableAdapters.tblDeliveryGroupTableAdapter();
this.tblDeliveryBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tblDeliveryTableAdapter = new DesktopApplication.mtdDesktopApplicationDataSetTableAdapters.tblDeliveryTableAdapter();
this.tblDeliveryDataSetBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tblDeliveryDataSetTableAdapter = new DesktopApplication.mtdDesktopApplicationDataSetTableAdapters.tblDeliveryDataSetTableAdapter();
 ((System.ComponentModel.ISupportInitialize)(this.mtdDesktopApplicationDataSet)).BeginInit();
 ((System.ComponentModel.ISupportInitialize)(this.tblStudyBindingSource)).BeginInit();
 ((System.ComponentModel.ISupportInitialize)(this.tblDeliveryGroupBindingSource)).BeginInit();
 ((System.ComponentModel.ISupportInitialize)(this.tblDeliveryBindingSource)).BeginInit();
 ((System.ComponentModel.ISupportInitialize)(this.tblDeliveryDataSetBindingSource)).BeginInit();

Ответы [ 2 ]

2 голосов
/ 21 мая 2009

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

(В основном он смотрит на DesktopApplication.DesktopApplication, когда вместо этого должен смотреть DesktopApplication.)

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

this.mtdDesktopApplicationDataSet = new global::DesktopApplication.mtdDesktopApplicationDataSet();
2 голосов
/ 21 мая 2009

Вы перемещали / переименовывали файлы / классы в любой момент и / или изменяли пространство имен проекта по умолчанию? Я видел, что все они имеют эффекты, аналогичные приведенным выше.

Re (сгенерированная) строка:

this.mtdDesktopApplicationDataSet =
        new DesktopApplication.mtdDesktopApplicationDataSet();

Вероятно, стоит избегать имен полей (this.mtdDesktopApplicationDataSet), совпадающих с типами (DesktopApplication.mtdDesktopApplicationDataSet) - это может привести только к потенциальной ошибке Не ясно (без возможности воспроизвести это), является ли это фактором здесь, но это не может помочь никому ...

Что представляет собой поле mtdDesktopApplicationDataSet? Вы можете переименовать его?

...