Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-09-25. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Errores inesperados del compilador de C#

Si se producen errores inesperados en la compilación de C# de MSBuild, es posible que tenga que modificar el archivo de proyecto de la aplicación.

Acerca de estos errores

El seguimiento CodeQL inserta algunas marcas en la invocación del compilador de C# para asegurarse de que todos los componentes se compilan e incluyen en la base de datos de CodeQL, lo que puede hacer que el código de C# se compile de forma diferente a lo que espera durante el análisis de CodeQL. Consulta Análisis de código de CodeQL para lenguajes compilados.

/p:EmitCompilerGeneratedFiles=true es una de las propiedades insertadas y emite archivos generados por el compilador durante el proceso de compilación. Esta opción hace que el compilador genere archivos adicionales que se usan para admitir características como compatibilidad mejorada con expresiones regulares, serialización y generación de vistas de aplicaciones web. Normalmente el compilador no escribe estos artefactos generados en el disco, sino que establecer la opción en true fuerza la escritura de los archivos en el disco, por lo que el extractor puede procesar los archivos.

Para algunos proyectos antiguos y proyectos que usan archivos .sqlproj, es posible que vea que la propiedad /p:EmitCompilerGeneratedFiles=true insertada provoca problemas inesperados con msbuild.

Confirmación de la causa del problema

Si ha establecido la marca "tratar las advertencias como errores", msbuild generará un error, lo que hará que se produzca un error en la extracción.

Solución del problema

Debe agregar el elemento <CompilerGeneratedFilesOutputPath> al archivo de proyecto de la aplicación. Para obtener más información, consulta Descripción del archivo de proyecto en Microsoft Learn.