Ă 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.