GetPathsOfAllDirectoriesAbove () tidak dapat dievaluasi setelah memperbarui versi .Net Framework (4.6.2 hingga 4.7.2)

12

Sebuah proyek yang saya kerjakan ditingkatkan dari .NET Framework 4.6.2 ke 4.7.2. Saat dibuat, dalam file yang bukan kode saya, saya mendapatkan kesalahan berikut:

masukkan deskripsi gambar di sini

Saya juga melihat kesalahan yang sama di tab build properti proyek saya.

[2]

Saya bingung - saya telah mencari kesalahan dan saya kosong. Adakah yang pernah mengalami dan / atau menyelesaikan ini sebelumnya?

Mat
sumber

Jawaban:

22

Sepertinya setelah memutakhirkan alat bangun Anda diubah dari MSBUILD ke Roslyn. Microsoft.Managed.Core.targets adalah file target Roslyn.

jika Anda telah menginstal paket Nuget berikut:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compiler

Maka mungkin itu yang menyebabkan masalah. Tingkatkan Microsoft.CodeDom.Providers.DotNetCompilerPlatformke 2.x dan hapus yang kedua. Itu harus memperbaiki masalah.

vendettamit
sumber
itu halus tetapi apa yang Anda katakan membantu saya menemukan jawabannya - Karena pembaruan ke 4.7.2 dilakukan ketika saya keluar, saya sebenarnya hanya memiliki 4.6.2 - dan saya membiarkan Visual Studio melakukan pengunduhan SDK, tetapi di proses, itu harus mengubah pengembang proyek ke Roslyn saat kami menggunakan MSBuild (seperti yang Anda katakan). Mengembalikan semuanya dan memuatnya dengan 4.7.2 SDK yang sudah diinstal membuat masalah hilang ...
Matt
Terima kasih!! Dalam kasus saya, saya memiliki Microsoft.Net.Compilers 2.0, sepertinya versi itu tidak memiliki konflik, tetapi setelah paket upgrade Microsoft.Net.Compilers 3.4 diinstal, mimpi buruk ini dimulai. Saya baru saja menghapus instalan Microsoft.Net.Compiler dan sekarang proyek mengkompilasi ok :)
Jcis
saya tidak sengaja downvoted. perlu menunggu satu jam untuk memperbaiki. masalah ini terkait dengan VS 2017 v2019 juga btw.
smoore4
Menghapus Microsoft.Net.Compiler memperbaikinya! +1
Benj Sanders
0

Microsoft.Net.CompilersMengalami kesalahan yang sama - masalah kompatibilitas antara 2.x (vs2017) dan 3.x (vs2019) - penurunan versi dari v3 ke v2 memperbaiki masalah secara khusus pada agen build kami yang hanya memiliki VS2017. v3 membutuhkan VS 2019 atau lebih baru per spec rilis roslyn-analyzers .

Per kesalahan terkait Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- VS2017 bahkan tidak akan membuka CSPROJ yang merupakan petunjuk tentang kompatibilitas.

VS 2017 - Opsi CSPROJ untuk Menginstal Fitur yang Hilang untuk Microsoft.Net.Compilersv3

masukkan deskripsi gambar di sini

VS 2017 - Menginstal Fitur yang Hilang

masukkan deskripsi gambar di sini

SliverNinja - MSFT
sumber