Skip to main content

Esta versão do GitHub Enterprise Server será descontinuada em 2026-04-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Compilador C# falhando de forma inesperada

Se a compilação C# do MSBuild estiver falhando inesperadamente, talvez seja necessário modificar o arquivo de projeto do aplicativo.

Sobre os erros

O CodeQL rastreador injeta alguns sinalizadores na invocação do compilador C# para garantir que todos os componentes sejam criados e incluídos no banco de dados CodeQL, o que pode fazer com que o código C# seja compilado de maneira diferente do esperado durante a CodeQL análise. Confira CodeQL code scanning for compiled languages.

          `/p:EmitCompilerGeneratedFiles=true` é uma das propriedades injetadas e emite arquivos gerados pelo compilador durante o processo de compilação. Essa opção faz com que o compilador gere arquivos adicionais que são usados para oferecer suporte a recursos como suporte aprimorado a expressões regulares, serialização e geração de exibição de aplicativo Web. Esses artefatos gerados normalmente não são gravados em disco pelo compilador, mas definir a opção para `true` força a gravação dos arquivos no disco e, portanto, o extrator pode processar os arquivos.

Para alguns projetos legados e projetos que utilizam .sqlproj, você pode ver que a propriedade /p:EmitCompilerGeneratedFiles=true injetada causa problemas inesperados com o msbuild.

Confirmar a causa do problema

Se você tiver definido o sinalizador "tratar avisos como erros", o msbuild produzirá um erro, o que fará com que a extração falhe.

Corrigir o problema

Você deve adicionar o elemento <CompilerGeneratedFilesOutputPath> ao arquivo de projeto do aplicativo. Para saber mais, confira Noções básicas sobre o arquivo de projeto no Microsoft Learn.