У меня проблема (очевидно, вопрос:)
У меня есть проект MyProject... поэтому остальная часть проекта использует по умолчанию любые классы в качестве пространства имен "MyProject"... без проблем.
В моем проекте я создал пользовательский элемент управления, на котором есть много других элементов управления (ярлык, текстовые поля и т.д.). Итак, этот класс ТАКЖЕ находится в пространстве имен по умолчанию "MyProject". Все компиляции не проблема. Чтобы подтвердить видимость области видимости, в этом пользовательском элементе управления я убедился, что код DESIGNER и Code-Behind (My code) являются ОБО Внутри одного и того же пространства имен MyProject (они есть), И они оба соответственно являются PUBLIC PARTIAL CLASS MyUserControl.
Теперь проблема. Я создаю простую форму (также в пространстве имен "MyProject" по умолчанию). Из панели инструментов существует "MyUserControl", поэтому я перетаскиваю его в MyNewForm. Перетаскивание в порядке.
Сохранить все, скомпилировать, сбой... Дизайнер добавляет дополнительную ссылку "MyProject", тем самым создавая впечатление, что пользовательский элемент управления фактически находится в MyProject.MyProject.MyUserControl.. вместо MyProject.MyUserControl.
Как только я вручную удалю дополнительный "MyProject.", сохраните и скомпилируйте, все в порядке. Однако, если я повторно отредактирую форму, измените что-то, 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
...
}
Спасибо за помощь...