À propos de ces erreurs
Le traceur CodeQL injecte certains indicateurs dans l’appel du compilateur C# pour vous assurer que chaque composant est généré et inclus dans la base de données CodeQL. En conséquence, votre code C# peut être généré d’une manière différente de vos attentes pendant l’analyse CodeQL. Consultez Analyse du code CodeQL pour les langages compilés.
/p:EmitCompilerGeneratedFiles=true
est l’une des propriétés injectées et émet des fichiers générés par le compilateur pendant le processus de génération. Cette option permet au compilateur de générer des fichiers supplémentaires, utilisés pour prendre en charge des fonctionnalités telles que la prise en charge améliorée des expressions régulières, la sérialisation et la génération de vues d’applications web. Ces artefacts générés ne sont généralement pas écrits sur le disque par le compilateur, mais règlent l’option sur true
pour forcer l’écriture des fichiers sur disque, pour que l’extracteur puisse traiter les fichiers.
Pour certains projets hérités et les projets qui utilisent des fichiers .sqlproj
, vous pouvez voir que la propriété /p:EmitCompilerGeneratedFiles=true
injectée provoque des problèmes inattendus avec msbuild
.
Confirmation de la cause du problème
Si vous avez défini l’indicateur « Traiter les avertissements comme des erreurs », msbuild
produira une erreur, ce qui entraînera l’échec de l’extraction.
Résolution du problème
Vous devez ajouter l’élément <CompilerGeneratedFilesOutputPath>
au fichier projet de l’application. Pour plus d’informations, consultez Compréhension du fichier de projet dans Microsoft Learn.