GetPathsOfAllDirectoriesAbove () no se puede evaluar después de actualizar la versión de .Net Framework (4.6.2 a 4.7.2)

12

Un proyecto en el que he estado trabajando se actualizó de .NET Framework 4.6.2 a 4.7.2. En la compilación, en un archivo que no es mi código, aparece el siguiente error:

ingrese la descripción de la imagen aquí

También veo el mismo error en la pestaña de compilación de las propiedades de mi proyecto.

[2]

Estoy perdido: he buscado el error y estoy vacío. ¿Alguien ha encontrado y / o resuelto esto antes?

Mate
fuente

Respuestas:

22

Parece que después de actualizar su herramienta de compilación se cambió de MSBUILD a Roslyn. Microsoft.Managed.Core.targets es el archivo de destino de Roslyn.

si tiene instalados los siguientes paquetes de Nuget:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Entonces posiblemente esté causando el problema. Actualice Microsoft.CodeDom.Providers.DotNetCompilerPlatforma 2.xy elimine el segundo. Eso debería solucionar el problema.

vendettamit
fuente
fue sutil, pero lo que dijiste me ayudó a resolverlo: dado que la actualización a 4.7.2 se realizó mientras estaba fuera, en realidad solo tenía 4.6.2, y dejé que Visual Studio realizara la descarga del SDK, pero en el proceso, debe haber transformado el creador del proyecto a Roslyn mientras usamos MSBuild (como usted dijo). Revertir todo y cargarlo con 4.7.2 SDK ya instalado hizo que el problema desapareciera ...
Matt
¡¡Gracias!! En mi caso, tuve Microsoft.Net.Compilers 2.0, parece que la versión no tuvo conflictos, pero después de que se instaló Microsoft.Net.Compilers 3.4, comenzó esta pesadilla. Acabo de desinstalar Microsoft.Net.Compilers y ahora el proyecto se compila bien :)
Jcis
accidentalmente rechacé. Necesito esperar una hora para corregir. Este problema está relacionado con VS 2017 v2019 también por cierto.
smoore4
¡Eliminar Microsoft.Net.Compilers lo arregló! +1
Benj Sanders
0

Se encontró con el mismo error, un problema de compatibilidad entre Microsoft.Net.Compilers2.x (vs2017) y 3.x (vs2019), la degradación de v3 a v2 solucionó el problema específicamente en nuestros agentes de compilación que solo tenían VS2017. v3 requiere VS 2019 o posterior según las especificaciones de lanzamiento de roslyn-analyzers .

Según el error relacionado Method 'System.String.GetPathsOfAllDirectoriesAbove' not found: VS2017 ni siquiera abriría el CSPROJ, que era una pista sobre la compatibilidad.

VS 2017 - Opción CSPROJ para instalar características faltantes para Microsoft.Net.Compilersv3

ingrese la descripción de la imagen aquí

VS 2017 - Instalación de funciones faltantes

ingrese la descripción de la imagen aquí

SliverNinja - MSFT
fuente