Windows Nano Server / Servercore in .Net6 unterstützen nicht System.Drawing

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

Erhalten Sie die folgenden Fehlermeldungen?

  • Fehler beim Laden einer der Chrome-Assemblys(libcef.dll)
  • Chrome-Bereitstellung fehlgeschlagen(fehler beim Laden von libcef.dll) (203)

    Dies liegt daran, dass System.Drawing in Windows Nano Server nicht enthalten ist und Windows Servercore(.Net6).

    Die offiziellen .NET-Images für Windows basieren auf Nano Sever.

    Um dieses Problem zu umgehen, empfehlen wir entweder:

  1. Erstellen und verteilen Sie Ihr Projekt als selbstständiges Projekt(klicken fürmehr Informationen zu dieser Option)

  2. Wechseln Sie zu Linux-basierten Container-Images, indem Sie die folgende Eigenschaft in Ihrer .csproj-Datei ändern:
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
      to  
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
XML

Sie können dann Linux-Abhängigkeiten hinzufügen:

RUN apt update \     && apt install -y libgdiplus libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libxrender1 libfontconfig1 libxshmfence1

(Die oben genannten Abhängigkeiten sind für Debian 11, obwohl spezifische Abhängigkeiten für Ubuntu, CentOs, Amazon Linux und mehr angesehen werden könnenhier)