C# 为什么我的新windows窗体被强制进入生成器命名空间?
我正在Visual Studio中处理一个Windows窗体项目。目前大约有15种不同的形式,每种形式都在名称空间foo中。例如:C# 为什么我的新windows窗体被强制进入生成器命名空间?,c#,visual-studio,winforms,C#,Visual Studio,Winforms,我正在Visual Studio中处理一个Windows窗体项目。目前大约有15种不同的形式,每种形式都在名称空间foo中。例如: using System; using System.Windows.Forms; namespace foo { public FormSelectProject() : Form { InitializeComponent(); } ...
using System;
using System.Windows.Forms;
namespace foo
{
public FormSelectProject() : Form
{
InitializeComponent();
}
...
}
这个很好用。今天我创建一个新表单时,没有使用名称空间foo,默认的名称空间生成器。因此:
using System;
using System.Windows.Forms;
namespace Builder
{
public FormCreateFeature() : Form
{
InitializeComponent();
}
...
}
如果将生成器名称空间更改为foo,则会出现错误CS0103当前上下文中不存在名称“InitializeComponent”。
我可以通过使用foo添加
来解决这个问题代码>位于表单顶部,但我只是好奇为什么会发生这种情况,特别是在其他表单仍然可以正常加载的情况下。要归功于上面的@mjwills。我只更改了FormCreateFeature.cs文件中的名称空间,而没有更改FormCreateFeature.Designer.cs文件中的名称空间。更改这两个文件解决了此问题。该表单至少有两个文件。您不能只更改其中一个。@mjwills Ok,所以我现在意识到FormCreateFeature.Designer.cs文件也使用了命名空间生成器。这就是你的意思吗?是的,这就是我的意思。如果根(默认)命名空间是“foo”,现在是“Builder”,那么你在项目属性“Application”选项卡中进行了更改。