有时Visual Studio(2005, 2008, 2010)会失去理智,被WinForm弄糊涂:
SplashForm.cs:
public partial class SplashForm : Form
{
...
SplashForm.Designer.cs:
partial class SplashForm
{
...
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
...
它会报错:
-
protected override void Dispose(bool disposing)
"Dispose(bool)"没有合适的方法来重写 -
base.Dispose(disposing);
"object"不包含"Dispose"的定义
它在抱怨它生成的代码。
我已经太长时间(3年)没有接触过Visual Studio了,所以我已经忘记了把Visual Studio的头从它自己的汇编中拿出来的技巧。
有什么诀窍可以让它再次启动?
我今天遇到了这个问题,发现了这个问题。我设法修复了它,虽然帖子是旧的(现在2岁了),我认为用我找到的解决方案来回答它总是好的:
- 我的场景:我在错误的目录 创建了一个表单
- 结果:命名空间与其他形式的命名空间不同。
- 原因:在我的具体情况下,这是因为我改变了
<Form>.Designer.cs
命名空间,使其与表单命名空间的其余部分相匹配。但是我没有改变<Form>.cs
命名空间,这是我的错误。
因此,如果您遇到此错误,请确保<Form>.Designer.cs
和<Form>.cs
中的名称空间都匹配。
我修好了。
我排除在外:
-
SplashForm.cs
-
SplashForm.Designer.cs
-
SplashForm.resx
,并将文件移动到另一个文件夹。
然后我创建了一个新的表单,名为SplashForm
,并复制了:
的内容。-
SplashForm.cs
-
SplashForm.Designer.cs
-
SplashForm.resx