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 die Festplatte geschrieben, aber durch Setzen der Option auf true wird das Schreiben der Dateien auf die Festplatte erzwungen, so dass der Extraktor die Dateien verarbeiten kann.

Bei einigen Vorversion-Projekten und Projekten, die .sqlproj Dateien verwenden, können Sie feststellen, dass die eingefügte /p:EmitCompilerGeneratedFiles=true Eigenschaft unerwartete Probleme mit msbuild erzeugt.

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.