GetPathsOfAllDirectoriesAbove () ne peut pas être évalué après la mise à jour de la version .Net Framework (4.6.2 à 4.7.2)

12

Un projet sur lequel je travaillais a été mis à niveau de .NET Framework 4.6.2 vers 4.7.2. Lors de la construction, dans un fichier qui n'est pas mon code, j'obtiens l'erreur suivante:

entrez la description de l'image ici

Je vois également la même erreur dans l'onglet de construction des propriétés de mon projet.

[2]

Je suis perdu - j'ai cherché l'erreur et je suis vide. Quelqu'un a-t-il déjà rencontré et / ou résolu cela?

Mat
la source

Réponses:

22

On dirait qu'après la mise à niveau, votre outil de construction est passé de MSBUILD à Roslyn. Microsoft.Managed.Core.targets est le fichier cible Roslyn.

si vous avez installé les packages Nuget suivants:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Alors peut-être que cela cause le problème. Mettez Microsoft.CodeDom.Providers.DotNetCompilerPlatformà niveau vers 2.x et supprimez le second. Cela devrait résoudre le problème.

vendettamit
la source
c'était subtil mais ce que vous avez dit m'a aidé à le comprendre - Puisque la mise à jour vers 4.7.2 a été effectuée pendant que j'étais absent, je n'avais en fait que 4.6.2 - et j'ai laissé Visual Studio faire le téléchargement du SDK, mais dans le processus, il doit avoir transformé le constructeur de projet à Roslyn pendant que nous utilisons MSBuild (comme vous l'avez dit). Tout annuler et le charger avec le SDK 4.7.2 déjà installé a fait disparaître le problème ...
Matt
Merci!! Dans mon cas, j'avais Microsoft.Net.Compilers 2.0, il semble que la version n'ait pas de conflits, mais après l'installation de la mise à niveau du package Microsoft.Net.Compilers 3.4, ce cauchemar a commencé. Je viens de désinstaller Microsoft.Net.Compilers et maintenant le projet se compile bien :)
Jcis
j'ai accidentellement rétrogradé. besoin d'attendre une heure pour corriger. ce problème est lié à VS 2017 v2019 trop btw.
smoore4
La suppression de Microsoft.Net.Compilers l'a corrigé! +1
Benj Sanders
0

Ran dans la même erreur - un problème de compatibilité entre Microsoft.Net.Compilers2.x (vs2017) et 3.x (vs2019) - la rétrogradation de la v3 à la v2 a corrigé le problème spécifiquement sur nos agents de build qui n'avaient que VS2017. v3 nécessite VS 2019 ou une version ultérieure selon les spécifications de la version des analyseurs roslyn .

Par l'erreur connexe Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- VS2017 n'ouvrirait même pas le CSPROJ qui était un indice sur la compatibilité.

VS 2017 - Option CSPROJ pour installer les fonctionnalités manquantes pour Microsoft.Net.Compilersv3

entrez la description de l'image ici

VS 2017 - Installation des fonctionnalités manquantes

entrez la description de l'image ici

SliverNinja - MSFT
la source