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.
![[2]](https://i.stack.imgur.com/3STCR.png)
Estoy perdido. He buscado el error y no encuentro nada. ¿Alguien ha encontrado y/o resuelto esto antes?
Este error suele aparecer cuando actualiza las siguientes bibliotecas mediante nuget
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
Chicos, si su proyecto no se carga debido a este error. simplemente vaya a la ubicación de ese proyecto mediante el explorador y elimine la carpeta obj manualmente.
Luego haga clic derecho en el proyecto y RECARGAR DE NUEVO.
Esto también puede suceder al intentar compilar un proyecto VS2019 con una versión anterior de Visual Studio (por ejemplo, en un servidor de compilación o en Azure DevOps).
Si, después de aplicar la solución de la respuesta https://stackoverflow.com/a/59276492/2279059 , el error cambia a
##[error]CSC(0,0): Error CS1617: Invalid option '8.0' for /langversionentonces este es probablemente el caso. Entonces, la solución es construir con la versión correcta de Visual Studio (2019).
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.
Esto 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.
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 v3