Sobre os erros
O rastreador do CodeQL injeta determinados sinalizadores na invocação do compilador C# para garantir que cada componente seja compilado e incluído no banco de dados CodeQL, o que pode fazer com que o código C# seja compilado de uma forma diferente do que você espera durante a análise do CodeQL. Confira Verificação de código do CodeQL para linguagens compiladas.
/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 no disco pelo compilador, mas definir a opção como true
força a gravação dos arquivos no disco e, portanto, o extrator pode processar os arquivos.
Para alguns projetos herdados e projetos que usam arquivos .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.