GetPathsOfAllDirectoriesAbove () nie można ocenić po aktualizacji wersji .Net Framework (4.6.2 do 4.7.2)

12

Projekt, nad którym pracowałem, został uaktualniony z .NET Framework 4.6.2 do 4.7.2. Po kompilacji w pliku, który nie jest moim kodem, pojawia się następujący błąd:

wprowadź opis zdjęcia tutaj

Widzę również ten sam błąd na karcie kompilacji właściwości mojego projektu.

[2]

Jestem zagubiony - szukałem błędu i nadchodzę pusty. Czy ktoś napotkał i / lub rozwiązał to wcześniej?

Matt
źródło

Odpowiedzi:

22

Wygląda na to, że po aktualizacji narzędzie do kompilacji zostało zmienione z MSBUILD na Roslyn. Microsoft.Managed.Core.targets to plik docelowy Roslyn.

jeśli masz zainstalowane następujące pakiety Nuget:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Może to powoduje problem. Zaktualizuj Microsoft.CodeDom.Providers.DotNetCompilerPlatformdo wersji 2.x i usuń drugi. To powinno rozwiązać problem.

vendettamit
źródło
było subtelne, ale to, co powiedziałeś, pomogło mi to rozgryźć - ponieważ aktualizacja do wersji 4.7.2 została wykonana podczas mojej nieobecności, faktycznie miałem tylko wersję 4.6.2 - i pozwoliłem Visual Studio na pobranie pakietu SDK, ale w proces, musiał przekształcić konstruktora projektu do Roslyn, gdy korzystamy z MSBuild (jak powiedziałeś). Cofanie wszystkiego i ładowanie go z zainstalowanym już pakietem 4.7.2 SDK sprawiło, że problem zniknął ...
Matt
Dzięki!! W moim przypadku miałem Microsoft.Net.Compilers 2.0, wygląda na to, że wersja nie miała konfliktów, ale po aktualizacji pakietu Microsoft.Net.Compilers 3.4 został zainstalowany ten koszmar. Właśnie odinstalowałem Microsoft.Net.Compilers, a teraz projekt się kompiluje :)
Jcis
przypadkowo przegłosowałem. trzeba poczekać godzinę na poprawienie. ten problem dotyczy zbyt 2017 VS 2017 v2019.
smoore4
Usunięcie Microsoft.Net.Compilers to naprawiło! +1
Benj Sanders
0

Wystąpił ten sam błąd - problem ze zgodnością między wersjami Microsoft.Net.Compilers2.x (vs2017) i 3.x (vs2019) - obniżenie wersji z v3 do v2 naprawiło problem szczególnie w naszych agentach kompilacji, które miały tylko VS2017. Wersja 3 wymaga wersji VS 2019 lub nowszej na specyfikację wydania Roslyn-Analyzers .

Według pokrewnego błędu Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- VS2017 nie otworzyłby nawet CSPROJ, co było wskazówką dotyczącą zgodności.

VS 2017 - CSPROJ Opcja instalacji brakujących funkcji dla Microsoft.Net.Compilersv3

wprowadź opis zdjęcia tutaj

VS 2017 - Instalowanie brakujących funkcji

wprowadź opis zdjęcia tutaj

SliverNinja - MSFT
źródło