'.ctor'不是有效的标识符

时间:2009-12-24 06:20:49

标签: vb.net winforms visual-studio-2008

在visual studio 2008中打开VB.Net窗体的设计时,我收到错误“'。''不是有效的标识符”。如果按“忽略并继续”链接,我可以看到表单设计器 所有其他形式加载正常。

带有错误消息的callstack:

at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomEventBindingService.ValidateMethodName(String methodName)
at System.ComponentModel.Design.EventBindingService.EventPropertyDescriptor.SetValue(Object component, Object value)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAttachEventStatement(IDesignerSerializationManager manager, CodeAttachEventStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)

有关如何解决这个问题的想法吗?

4 个答案:

答案 0 :(得分:12)

此消息可能表示您意外覆盖了构造函数。据我所知,M $ VStudio会将您的表单设置为在设计器窗口中显示。

也许以下步骤会有所帮助

  • 检查,如果你的.vb文件中定义了你的类名的Sub(例如:“Private Sub YOURCLASS(...)Handles MyBase.Load”而不是“Private Sub YOURCLASS_load(...)处理MyBase.Load“)
  • 进入解决方案资源管理器(好名字,不是吗)
  • 重建整个解决方案

祝你好运

答案 1 :(得分:0)

一个非常简单的解决方案是从头开始重建表单,这可能不会产生错误。 Visual Studio设计器有时会创建设计者自己无法理解的代码。

确保您不会观看旧的设计器DLL文件的其他一些步骤。

关闭文件的设计器 清理项目并重建 启动应用程序 打开设计师

这应该强制设计者重新加载文件。

设计人员似乎也阻止了所有网络流量,如果您使用远程处理/网络服务做任何事情,它可能无法正常工作并在设计时导致意外错误。

答案 2 :(得分:0)

在我的情况下,当我声明了一个构造函数但没有定义它时,出现了这个错误。 您可以在代码中检查相同内容。

答案 3 :(得分:0)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

tenia repetido处理MyBase.load