Windows Nano Server / Servercore dans .Net6 ne supporte pas System.Drawing

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

Voyez-vous les messages d'erreur suivants ?

  • Erreur de chargement d'un des assemblages Chrome (libcef.dll)
  • Échec du déploiement de Chrome (erreur lors du chargement de libcef.dll) (203)

    En effet, System.Drawing n'est pas inclus dans Windows Nano Server, et Windows Servercore (.Net6).

    Les images .NET officielles pour Windows sont basées sur Nano Sever.

    Pour contourner ce problème, nous vous suggérons d'utiliser l'une ou l'autre des méthodes suivantes

  1. Construire et déployer votre projet en tant que projet autonome (cliquez pour plus d'informations sur cette option)

  2. Passez à des images de conteneurs basées sur Linux en modifiant la propriété suivante dans votre fichier .csproj :
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
      to  
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
XML

Vous pouvez ensuite ajouter les dépendances Linux :

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

(Les dépendances ci-dessus sont pour Debian 11, mais des dépendances spécifiques pour Ubuntu, CentOs, Amazon Linux et d'autres peuvent être consultées ici)