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.