.slnx solution files still cause "No file format header found" in v10.0.1

Aperta Adatta ai principianti
#1,271 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
csharp

Direzione di ricerca

Inizia con CodeConv/CodeConv.csproj e CodeConverter/CodeConverter.csproj, quindi esamina i quattro riferimenti ai pacchetti Microsoft.CodeAnalysis attualmente alla versione 4.14.0. Verifica l’aggiornamento della dipendenza rispetto al problema .slnx descritto nell’issue e testa la conversione di un progetto VB usando una soluzione .slnx. Il lavoro è concluso quando la soluzione si apre senza la file-format-header exception.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

CodeConverter Version: 10.0.1
OS: Windows

Error

Microsoft.Build.Exceptions.InvalidProjectFileException: No file format header found.
at Microsoft.Build.Construction.SolutionFile.ParseFileHeader()
at Microsoft.Build.Construction.SolutionFile.ParseSolution()
at Microsoft.Build.Construction.SolutionFile.ParseSolutionFile()
at Microsoft.Build.Construction.SolutionFile.Parse(String solutionFile)
at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.LoadSolutionInfoAsync(...)
at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.OpenSolutionAsync(...)
at ICSharpCode.CodeConverter.CommandLine.MsBuildWorkspaceConverter.SolutionLoader.AnalyzeSolutionAsync(...) in MsBuildWorkspaceConverter.cs:line 87

Description

Despite issue #1195 being listed as fixed in v10.0.1, converting a VB project using a .slnx
solution file still fails with the above error. The bundled
Microsoft.CodeAnalysis.Workspaces.MSBuild.dll is version 4.14.0 (file version
4.1400.25.26210). MSBuildWorkspace in 4.x tries to parse .slnx as a traditional .sln file
and fails at the file header check — .slnx is XML-based and has no such header.

Root Cause

.slnx support in MSBuildWorkspace.OpenSolutionAsync requires
Microsoft.CodeAnalysis.Workspaces.MSBuild 5.x. The latest stable is 5.3.0.

Proposed Fix

Update CodeConv/CodeConv.csproj (and CodeConverter/CodeConverter.csproj):

  • Microsoft.CodeAnalysis.Workspaces.MSBuild 4.14.0 → 5.3.0
  • Microsoft.CodeAnalysis.CSharp.Workspaces 4.14.0 → 5.3.0
  • Microsoft.CodeAnalysis.VisualBasic.Workspaces 4.14.0 → 5.3.0
  • Microsoft.CodeAnalysis.CSharp.Features 4.14.0 → 5.3.0
References
Lingua principale
C#
Stelle
913
Fork
244
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di icsharpcode/CodeConverter

Tutte le issue di icsharpcode/CodeConverter

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.