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?

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.


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í

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.