GetPathsOfAllDirectoriesAbove () kann nach dem Aktualisieren der .NET Framework-Version (4.6.2 bis 4.7.2) nicht ausgewertet werden.

12

Ein Projekt, an dem ich gearbeitet habe, wurde von .NET Framework 4.6.2 auf 4.7.2 aktualisiert. Beim Erstellen einer Datei, die nicht mein Code ist, wird der folgende Fehler angezeigt:

Geben Sie hier die Bildbeschreibung ein

Ich sehe den gleichen Fehler auch auf der Registerkarte "Erstellen" meiner Projekteigenschaften.

[2]

Ich bin ratlos - ich habe nach dem Fehler gesucht und bin leer. Hat jemand dies schon einmal erlebt und / oder gelöst?

Matt
quelle

Antworten:

22

Sieht so aus, als ob nach dem Upgrade Ihr Build-Tool von MSBUILD auf Roslyn geändert wurde. Microsoft.Managed.Core.targets ist eine Roslyn-Zieldatei.

Wenn Sie folgende Nuget-Pakete installiert haben:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compiler

Dann verursacht es möglicherweise das Problem. Aktualisieren Sie das Microsoft.CodeDom.Providers.DotNetCompilerPlatformauf 2.x und entfernen Sie das zweite. Das sollte das Problem beheben.

vendettamit
quelle
Es war subtil, aber was Sie sagten, half mir, es herauszufinden - Da das Update auf 4.7.2 während meiner Abwesenheit durchgeführt wurde, hatte ich eigentlich nur 4.6.2 - und ich ließ Visual Studio den Download des SDK durchführen, aber in der Während wir MSBuild verwenden (wie Sie sagten), muss der Projekt-Builder in Roslyn umgewandelt worden sein. Das Zurücksetzen und Laden mit dem bereits installierten 4.7.2 SDK hat das Problem behoben ...
Matt
Vielen Dank!! In meinem Fall hatte ich Microsoft.Net.Compilers 2.0, es scheint, dass die Version keine Konflikte hatte, aber nach dem Paket-Upgrade Microsoft.Net.Compilers 3.4 wurde dieser Albtraum gestartet. Ich habe gerade Microsoft.Net.Compilers deinstalliert und jetzt wird das Projekt in
Ordnung
Ich habe versehentlich herabgestimmt. müssen eine Stunde warten, um zu korrigieren. Dieses Problem bezieht sich übrigens auch auf VS 2017 v2019.
smoore4
Das Entfernen von Microsoft.Net.Compilers hat das Problem behoben! +1
Benj Sanders
0

Der gleiche Fehler - ein Kompatibilitätsproblem zwischen Microsoft.Net.Compilers2.x (vs2017) und 3.x (vs2019) - beim Herabstufen von v3 auf v2 hat das Problem speziell bei unseren Build-Agenten behoben, die nur VS2017 hatten. Für Version 3 ist VS 2019 oder höher gemäß den Release-Spezifikationen für Roslyn-Analysatoren erforderlich .

Method 'System.String.GetPathsOfAllDirectoriesAbove' not foundGemäß dem damit verbundenen Fehler würde VS2017 nicht einmal das CSPROJ öffnen, was ein Hinweis auf die Kompatibilität war.

VS 2017 - Csproj Option zum Installieren Fehlende Features für Microsoft.Net.Compilersv3

Geben Sie hier die Bildbeschreibung ein

VS 2017 - Fehlende Funktionen installieren

Geben Sie hier die Bildbeschreibung ein

SliverNinja - MSFT
quelle