C# "Failed to parse method ' 初始化组件'。解析器报如下错误 'Invalid symbol kind: NamedType'”

标签 c# designer

我有一个由其他人使用 .NET Framework 4 编写的项目 我对其中一种表格有疑问(其他表格正确打开)。

当我尝试在“设计模式”中打开 Form1 时,Visual Studio 2017 显示错误屏幕并返回 “无法解析方法‘InitializeComponent’。解析器报告了以下错误‘无效的符号种类:NamedType’。请在任务列表中查找潜在错误。”

有调用栈

at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnMethodPopulateStatements(Object sender, EventArgs e)
at System.CodeDom.CodeMemberMethod.get_Statements()
at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host) 

最佳答案

为了补充知识体系,我遇到了同样的错误。我的情况是我正在升级由 JetBrains dotPeek 创建的解决方案。其解决方案版本为10.0(VS2008)并为VS2017转换为15.0(VS2015),是一个.NET 3.5目标类库。打开表单后(在没有设计器文件的旧样式中)打开设计器时总是抛出错误(但运行类库很好)。在仔细查看 InitializeComponent 的每一行时,我发现了“this.Name = nameof(formname)”。查看另一种有效的表格,我看到了“this.Name =“formname””。一旦我将线路改成另一种方法,设计器就完美打开了!

关于C# "Failed to parse method ' 初始化组件'。解析器报如下错误 'Invalid symbol kind: NamedType'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51710017/

相关文章:

java - 用Java实现一个简单的UI编辑器

c# - 获取其 ID 等于某些值的项目列表 - linq c#

c# - 使用 OpenXML 和 C# 处理 word 文档

c# - 将通用列表值复制到另一个通用列表

c++ - QT .UI 显示.GIF?

.net - 为什么在设计器中为控件的属性指定数值会导致代码中出现 new Decimal(new int[] {... ?

C# XML - 读取包含的 XML 文档

c# - 如何在 C# Express 中选择 32 位或 64 位构建?

css - Internet Explorer 不显示链接样式,因为它们在 Visual Studio 设计器中

c# - 带有面板的自己的组件