Skip to main content

Unerwarteter C#-Compilerfehler

Wenn die MSBuild C#-Kompilierung unerwartet fehlschlägt, müssen Sie ihre Anwendungsprojektdatei möglicherweise ändern.

Informationen zu diesen Fehlern

Der CodeQL-Tracer fügt einige Flags in den C#-Compileraufruf ein, um sicherzustellen, dass jede Komponente erstellt und in die CodeQL -Datenbank aufgenommen wird, was dazu führen kann, dass Ihr C#-Code anders erstellt wird, als Sie es bei der CodeQL -Analyse erwarten. Weitere Informationen findest du unter CodeQL-Codeüberprüfung für kompilierte Sprachen.

          `/p:EmitCompilerGeneratedFiles=true` ist eine der injizierten Eigenschaften und emittiert compiler-generierte Dateien während des Buildprozesses. Diese Option veranlasst den Compiler, zusätzliche Dateien zu erzeugen, die zur Unterstützung von Funktionen wie der verbesserten Unterstützung regulärer Ausdrücke, der Serialisierung und der Generierung von Webanwendungsansichten verwendet werden. Diese generierten Artefakte werden normalerweise nicht vom Compiler auf den Datenträger geschrieben, doch bei Festlegung der Option auf `true` wird das Schreiben der Dateien auf den Datenträger erzwungen, sodass der Extraktor die Dateien verarbeiten kann.

Bei einigen Legacyprojekten und Projekten, die .sqlproj-Dateien verwenden, kann es sein, dass die eingefügte /p:EmitCompilerGeneratedFiles=true-Eigenschaft unerwartete Probleme mit msbuild verursacht.

Bestätigen der Problemursache

Wenn Sie das Flag "Warnungen als Fehler behandeln" festgelegt haben, wird msbuild einen Fehler erzeugen, der dazu führt, dass die Extraktion fehlschlägt.

Beheben des Problems

Sie sollten das <CompilerGeneratedFilesOutputPath> Element zur Projektdatei der Anwendung hinzufügen. Weitere Informationen findest du unter Informationen zur Projektdatei in Microsoft Learn.