我有一个问题(很明显的问题:)类型名称{}的MyUserControl中不存在类型{} myNamespace.myNamespace
我有一个项目 - MyProject的......该项目的,因此其余使用默认的任何类作为命名空间“MyProject”...没问题。
在我的项目中,我创建了一个自定义用户控件,其上有很多其他控件(标签,文本框等)。因此,该类也在“MyProject”的默认名称空间内。所有编译没有问题。为了确认范围的可见性,在这个用户控件上,我确信DESIGNER代码和代码隐藏(我的代码)在同一个“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通过Designer ...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
感谢您的帮助...
LOADS的感谢。 – Larry 2011-09-30 13:34:09
当您在某个名称空间中使用与名称空间相同的名称类时,也会发生这种情况。 – greenskin 2013-06-20 10:34:30