web-dev-qa-db-ja.com

C# "メソッド 'InitializeComponent'の解析に失敗しました。パーサーは次のエラーを報告しました '無効なシンボルの種類:NamedType'"

.NET Framework 4を使用して他の誰かが作成したプロジェクトがあります。フォームの1つに問題があります(他のフォームは正しく開きます)。

「デザインモード」でForm1を開こうとすると、Visual Studio 2017にエラー画面が表示され、「メソッド 'InitializeComponent'の解析に失敗しました。パーサーは次のエラーを報告しました。 '無効なシンボルの種類:NamedType'。タスクリストで次の情報を確認してください。潜在的なエラー。」

コールスタック付き

 at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnMethodPopulateStatements(Object sender、EventArgs e)
 at System.CodeDom.CodeMemberMethod.get_Statements()
 atSystem.ComponentModel。 .Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager、CodeTypeDeclarationdeclaration)
 at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
 atMicrosoft.VisualStudio.Design.Serialization。 CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
 at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost Host)
6
Adam

知識体系に追加するために、私はこれと同じエラーを受け取っていました。私の状況は、JetBrainsdotPeekによって作成されたソリューションをアップグレードしていたことでした。そのソリューションは、バージョンが10.0(VS2008)で、VS2017用に15.0(VS2015)に変換されており、.NET3.5ターゲットクラスライブラリです。フォームを開いた後(デザイナーファイルのない古いスタイルで)、デザイナーを開くときに常にエラーがスローされました(ただし、クラスライブラリの実行は問題ありませんでした)。 InitializeComponentのすべての行を注意深く調べたところ、「this.Name = nameof(formname)」が見つかりました。動作する別のフォームを見ると、「this.Name = "formname"」が見つかりました。ラインを他のアプローチに変更すると、デザイナーは完璧にオープンしました!

6
Will DP