【问题标题】:'.ctor' is not a valid identifier“.ctor”不是有效的标识符
【发布时间】:2009-12-24 06:20:49
【问题描述】:

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

带有错误信息的调用栈:

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)

知道如何解决这个问题吗?

【问题讨论】:

  • 如果不加载表单而只是构建项目,是否编译成功?如果没有,您可以发布您收到的任何错误消息吗?如果您无法使用 VS 构建它,请尝试从命令行对 .vbproj 文件使用 MSBuild。

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


【解决方案1】:

此消息可能表明您不小心覆盖了构造函数。据我所知,M$ VStudio 会实例化您的表单以将其显示在设计器窗口中。

也许以下步骤会有所帮助

  • 检查您的 .vb 文件中是否有一个带有您的类名的 Sub(例如:“Private Sub YOURCLASS (...) Handles MyBase.Load”而不是“Private Sub YOURCLASS_load (...)处理 MyBase.Load")
  • 进入解决方案资源管理器(不错的名字,不是吗)
  • 重建整个解决方案

最好的问候

【讨论】:

  • 忘了说:如果第一步检查成功,你真的找到了这样一个sub,那么重命名它
  • 谢谢!使我免于无缘无故地重建一个巨大的活动报告!当报表从早期版本转换时,_PageEnd 被遗漏在 PageEnd 事件处理程序的子名称中,我没有看到它!不知道为什么这被否决了。 (+1)
【解决方案2】:

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

其他一些步骤可确保您没有看到旧的设计器 dll 文件。

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

这应该迫使设计者重新加载文件。

设计器似乎还阻止了所有网络流量,如果您对远程处理/网络服务进行任何操作,它可能无法正常工作并在设计时导致意外错误。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:
      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-08
        • 1970-01-01
        • 2017-08-14
        • 1970-01-01
        • 1970-01-01
        • 2015-01-22
        • 2020-11-06
        • 1970-01-01
        相关资源
        最近更新 更多