У меня есть проблема (очевидно, вопрос :)Имя типа {myUserControl} не существует в типе {myNamespace.myNamespace}
У меня есть project-- MyProject ... поэтому остальная часть проекта использует по умолчанию любые классы в качестве пространства имен «MyProject» ... никаких проблем.
В моем проекте я создал пользовательский элемент управления, на котором есть много других элементов управления (ярлыки, текстовые поля и т. Д.). Итак, этот класс ТАКЖЕ находится в пространстве имен по умолчанию «MyProject». Все компиляции не проблема. Чтобы подтвердить видимость области видимости, в этом пользовательском элементе управления я убедился, что код DESIGNER и Code-Behind (My code) являются ОБО Внутри одного и того же пространства имен MyProject (они есть), И они оба соответственно являются PUBLIC PARTIAL CLASS MyUserControl ,
Теперь проблема. Я создаю простую форму (также в пространстве имен «MyProject» по умолчанию). Из панели инструментов существует «MyUserControl», поэтому я перетаскиваю его в MyNewForm. Перетаскивание - отлично.
Сохраните все, скомпилируйте, сбой ... Дизайнер добавляет дополнительную ссылку «MyProject», тем самым создавая впечатление, что пользовательский элемент управления фактически находится в MyProject.MyProject.MyUserControl .. вместо MyProject.MyUserControl.
Как только я вручную удалю дополнительный «Мой проект», сохраните и скомпилируйте, все в порядке. Однако, если я заново отредактирую форму, измените что-то, M $ изменит ее обратно на исходную ссылку «MyProject.MyUserControl».
Все, что было сказано, вот отрывки из моего проекта ...
namespace MyProject
{
partial class MyNewForm
{
...
private void InitializeComponent()
{
// THIS is the line that has the extra "MyProject." reference
// when I manually remove it, all works perfectly
this.MyUserControl1 = new MyProject.MyUserControl();
}
}
private MyUserControl MyUserControl1;
}
Тогда в определении MyUserControl у меня есть ...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
и от MyUserControl через конструктора ...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
Спасибо за помощь ...
НАГРУЗКИ благодарности. – Larry
Также случается, когда у вас есть класс в пространстве имен с тем же именем, что и пространство имен. – greenskin