GetPathsOfAllDirectoriesAbove () non può essere valutato dopo l'aggiornamento della versione .Net Framework (da 4.6.2 a 4.7.2)


12

Un progetto a cui sto lavorando è stato aggiornato da .NET Framework 4.6.2 a 4.7.2. Al momento della compilazione, in un file che non è il mio codice, viene visualizzato il seguente errore:

inserisci qui la descrizione dell'immagine

Vedo anche lo stesso errore nella scheda build delle proprietà del mio progetto.

[2]

Sono in perdita, ho cercato l'errore e sto arrivando vuoto. Qualcuno ha riscontrato e / o risolto questo problema in precedenza?

Risposte:


22

Sembra che dopo aver aggiornato lo strumento di creazione sia cambiato da MSBUILD a Roslyn. Microsoft.Managed.Core.targets è il file di destinazione Roslyn.

se sono installati i seguenti pacchetti Nuget:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Quindi probabilmente sta causando il problema. Aggiorna Microsoft.CodeDom.Providers.DotNetCompilerPlatforma 2.x e rimuovi il secondo. Ciò dovrebbe risolvere il problema.


era sottile ma quello che hai detto mi ha aiutato a capirlo - Dato che l'aggiornamento a 4.7.2 è stato fatto mentre ero fuori, in realtà avevo solo 4.6.2 - e ho lasciato che Visual Studio eseguisse il download dell'SDK, ma nel processo, deve aver trasformato il project builder in Roslyn mentre usiamo MSBuild (come hai detto). Ripristinare tutto e caricarlo con l'SDK 4.7.2 già installato ha risolto il problema ...
— Matt,

Grazie!! Nel mio caso avevo Microsoft.Net.Compilers 2.0, sembra che la versione non abbia avuto conflitti, ma dopo l'installazione dell'aggiornamento del pacchetto Microsoft.Net.Compilers 3.4 è stato avviato questo incubo. Ho appena disinstallato Microsoft.Net.Compilers e ora il progetto si compila bene :)
— Jcis

ho annullato il voto per errore. è necessario attendere un'ora per correggere. questo problema è legato a VS 2017 v2019 anche a proposito.
— smoore4

Rimozione di Microsoft.Net.Compilers risolto! +1
— Benj Sanders,

0

Si è verificato lo stesso errore - un problema di compatibilità tra Microsoft.Net.Compilers2.x (vs2017) e 3.x (vs2019) - il downgrade da v3 a v2 ha risolto il problema specificamente sui nostri agenti di build che avevano solo VS2017. v3 richiede VS 2019 o versioni successive per le specifiche di rilascio degli analizzatori roslyn .

Per l'errore correlato Method 'System.String.GetPathsOfAllDirectoriesAbove' not found, VS2017 non avrebbe nemmeno aperto CSPROJ, il che era un indizio sulla compatibilità.

VS 2017 - Opzione CSPROJ per installare le funzioni mancanti per Microsoft.Net.Compilersv3

inserisci qui la descrizione dell'immagine

VS 2017 - Installazione delle funzionalità mancanti

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.