Почему я продолжаю получать сообщение «тип не определен» в моем VB.Сетевое приложение во время компиляции?

#.net #vb.net

#.net #vb.net

Вопрос:

У меня есть vb.Сетевое приложение, в которое я включил элемент управления, который был специально разработан кем-то другим. Я включил элемент управления в свое приложение, но периодически получаю сообщение «Тип’myMapControl.myMapControl’ не определен» при компиляции. Ошибка находится в файле Form1.Designer.vb в следующих строках (в данном случае мое имя формы — «Form1»).

    Me.myMapControl1= New myMapControl.myMapControl
   Me.myOthermapControl = New myMapControl.myMapControl
 

Если я добавлю «глобальный» квалификатор:

    Me.myMapControl1= New Global.myMapControl.myMapControl
   Me.myOthermapControl = New Global.myMapControl.myMapControl
 

затем я могу скомпилировать, и какое-то время все работает нормально. Я могу компилировать, изменять, перекомпилировать и т. Д. Однако в конечном итоге квалификатор «Global» исчезает, и мне приходится его повторно добавлять. Что я делаю не так. Я убедился, что dll элемента управления была добавлена в качестве ссылки.

Комментарии:

1. Возможно ли, что у вас есть коллизия пространства имен? Каково пространство имен вашего текущего проекта?

2. Это обычная ловушка VS2010. Измените . Цель NET framework из профиля клиента в полный профиль.

Ответ №1:

У меня была эта проблема. Я был немного глуп и назвал элемент управления тем же, что и пространство имен по умолчанию для проекта

Пространство имен = PAStatusGrid
Control = PAStatusGrid.vb

Каждый раз, когда вы редактируете дизайн своей формы, он восстанавливает код .designer.vb и удаляет префикс [Global.], который вы должны ввести.

Проверьте имена элементов управления и пространства имен и убедитесь, что они не конфликтуют

Ответ №2:

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