System.Drawing.Common-Alternativen (.NET 7 & Nicht-Windows)

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ab .NET 6 hat Microsoft die Unterstützung von System.Drawing.Common unter Linux und macOS eingestellt. Diese Bibliothek wird nun nur noch unter Windows funktionieren. Weitere Details finden Sie in der offiziellen Dokumentation.

Umgehungen zur Vermeidung des Fehlers "System.Drawing.Common wird auf dieser Plattform nicht unterstützt"

.NET 6

Bei Nicht-Windows-Betriebssystemen wird eine TypeInitializationException-Ausnahme mit einer PlatformNotSupportedException-Ausnahme als innerer Ausnahme ausgelöst. Der Plattformanalysator gibt zur Kompilierungszeit Warnungen für Nicht-Windows-Plattformen aus. Die folgende Laufzeitausnahme wird ausgelöst, es sei denn, Sie setzen eine Konfigurationsoption:

System.TypeInitializationException : Der Typeninitialisierer für 'Gdip' hat eine Ausnahme ausgelöst.

    ---- System.PlatformNotSupportedException : System.Drawing.Common wird auf Nicht-Windows-Plattformen nicht unterstützt.

Vorübergehende Lösung in .NET 6:

Aktivieren Sie die Unterstützung für Nicht-Windows-Plattformen, indem Sie den Laufzeitkonfigurationsschalter System.Drawing.EnableUnixSupport in der Datei runtimeconfig.json auf true setzen:

{
    "runtimeOptions": {
        "configProperties": {
            "System.Drawing.EnableUnixSupport": true
        }
    }
}

Fügen Sie außerdem die folgende Zeile am Anfang Ihres Codes hinzu, um die Konfiguration programmgesteuert zu aktivieren:

// Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
// Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
$vbLabelText   $csharpLabel

.NET 7 und höher

Ab .NET 7 hat Microsoft die Unterstützung für System.Drawing.Common auf Linux und macOS vollständig entfernt, einschließlich der zuvor verfügbaren Umgehungslösung.

Iron Software hat einen Open-Source-Ersatz für System.Drawing.Common veröffentlicht, der IronSoftware.Drawing heißt.

Für weitere Informationen besuchen Sie die offizielle Dokumentation.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 17,803,474 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.