关于这些错误
CodeQL 跟踪器将一些标志注入到 C# 编译器调用中,以确保每个组件都构建并包含在 CodeQL 数据库中,这可能导致您的 C# 代码在 CodeQL 分析期间的构建方式与您的预期不同。请参阅“编译语言的 CodeQL 代码扫描”。
/p:EmitCompilerGeneratedFiles=true
是注入的属性之一,它在构建过程中发出编译器生成的 文件。此选项会导致编译器生成用于支持改进的正则表达式支持、序列化和 Web 应用程序视图生成等功能的附加文件。这些生成的工件通常不会由编译器写入磁盘,但将该选项设置为 true
会强制将文件写入磁盘,以便提取器可以处理这些文件。
对于某些旧版项目和使用 .sqlproj
文件的项目,您可能会发现注入的 /p:EmitCompilerGeneratedFiles=true
属性会导致 msbuild
出现意外问题。
确认问题的原因
如果已设置“将警告视为错误”标志,则 msbuild
将产生错误,这将导致提取失败。
解决问题
您应该将 <CompilerGeneratedFilesOutputPath>
元素添加到应用程序的项目文件中。有关更多信息,请参阅 Microsoft Learn 中的“了解项目文件”。