我无法将我的新表单设置为启动表单,它抱怨它不存在。 但是几分钟后我尝试输入“Namespace.NewForm”并且有效。
在我的其他项目中,启动设置如下:
Application.Run(new MyForm());
为什么在更改此项目中的启动表单时必须指定命名空间?
答案 0 :(得分:4)
大概是因为你没有using
指令:
using SomeNamespace;
...
Application.Run(new SomeForm());
用于调用Application.Run
的代码没有什么特别不同 - 它只是普通的C#代码,遵循C#的正常规则。
答案 1 :(得分:1)
使用using指令,这样您就不必完全限定相关命名空间中的类型。
using MyNameSpace;
还值得指出的是,在C#中使用指令不会让您访问嵌套在您指定的命名空间中的命名空间(以防万一你想知道)。这意味着
using System;
无法访问System.IO
答案 2 :(得分:0)
听起来这里的背景比你分享的更多。无论您正在做什么,您引用MyForm
的任何地方都需要能够解析对完全限定类(包括命名空间)的引用。这意味着它需要完全限定,或者需要将其命名空间包含在文件顶部的using
语句中(并且是明确的)。
你的“工作”版本是否已经有using
指令而“非工作”版本是不是?您的版本是否尝试在不同的位置设置启动表单?
我怀疑“工作”版本已经有using
指令,并且由于某种原因,它在“非工作”版本中没有到位。