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:
También veo el mismo error en la pestaña de compilación de las propiedades de mi proyecto.
Estoy perdido. He buscado el error y no encuentro nada. ¿Alguien ha encontrado y/o resuelto esto antes?
Parece que después de actualizar su herramienta de compilación se cambia de MSBUILD a Roslyn. Microsoft.Managed.Core.targets es el archivo de destino de Roslyn.
si tiene los siguientes paquetes de Nuget instalados:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
Entonces posiblemente esté causando el problema. Actualice Microsoft.CodeDom.Providers.DotNetCompilerPlatform
a 2.x y elimine el segundo. Eso debería solucionar el problema.
Me encontré con el mismo error: un problema de compatibilidad entre Microsoft.Net.Compilers
2.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 la especificación de versión de roslyn-analyzers .
Según el Method 'System.String.GetPathsOfAllDirectoriesAbove' not found
: VS2017 ni siquiera abriría el CSPROJ, que era una pista sobre la compatibilidad.
Microsoft.Net.Compilers
v3Esto me sucedió cuando actualicé Microsoft.Net.Compilers en un proyecto antiguo. Eliminar completamente Microsoft.Net.Compilers y luego actualizar Microsoft.CodeDom.Providers.DotNetCompilerPlatform resolvió mi problema.