C# 表单设计器生成的代码命名空间必须在每次表单更改时更正
我对这种奇怪的行为有几种看法 例如,我有这个表单生成的代码C# 表单设计器生成的代码命名空间必须在每次表单更改时更正,c#,.net,winforms,intellisense,auto-generate,C#,.net,Winforms,Intellisense,Auto Generate,我对这种奇怪的行为有几种看法 例如,我有这个表单生成的代码 namespace Sogyo.InHolland.SeriousGameFactory.GameCreator { partial class FormAvatarResourceSetEditor { this.bindingSourceAvatarResourceSets.DataSource = typeof(SeriousGameFactory.Framework.ImageResource); } } 在本例中,当
namespace Sogyo.InHolland.SeriousGameFactory.GameCreator
{
partial class FormAvatarResourceSetEditor
{
this.bindingSourceAvatarResourceSets.DataSource = typeof(SeriousGameFactory.Framework.ImageResource);
}
}
在本例中,当我按下build时,编译器抱怨它无法识别“SeriousGameFactory.Framework.ImageResource”。(Intellisense似乎无法在SeriousGameFactory命名空间中找到框架命名空间)
然后我手动将其更改为以下代码
using SeriousGameFactory.Framework;
namespace Sogyo.InHolland.SeriousGameFactory.GameCreator
{
partial class FormAvatarResourceSetEditor
{
this.bindingSourceAvatarResourceSets.DataSource = typeof(ImageResource);
}
}
现在,项目开始构建。(奇怪!)
但是,当我打开表单并使用它时,VisualStudio会自动生成以下代码
using SeriousGameFactory.Framework;
namespace Sogyo.InHolland.SeriousGameFactory.GameCreator
{
partial class FormAvatarResourceSetEditor
{
this.bindingSourceAvatarResourceSets.DataSource = typeof(SeriousGameFactory.Framework.ImageResource);
}
}
而且它也不会编译。(Intellisense似乎无法在SeriousGameFactory命名空间中找到框架命名空间)
有人有没有想过是什么导致了这种情况。在某种程度上,您是否有一个名为
SeriousGameFactory
的冲突类型/属性/方法/控件?这样就可以了…我的解决方案中有两个项目,项目1默认名称空间=SeriousGameFactory.Framework(这是ImageResource类所在的位置)项目2默认名称空间=Sogyo.InHolland.SeriousGameFactory.GameCreator(这是表单所在的位置)Sogyo.InHolland.SeriousGameFactory.GameCreator将Sogyo.InHolland.SeriousGameFactory.GameCreator重命名为SeriousGameFactory.GameCreator,似乎已修复。我真的很感谢你的帮助!,谢谢!这很有意义——它首先要找到默认名称空间。听起来您必须重命名其中一个名称空间才能使其正常工作。你可以使用外部别名
,但这是一件非常痛苦的事情……啊——我们同时在打字-p很高兴它被分类了。