Windows Nano Server / Servercore en .Net6 no soportan System.Drawing

¿Ves los siguientes mensajes de error?

  • Error al cargar uno de los ensamblados de Chrome (libcef.dll)
  • Fallo en la implantación de Chrome (error al cargar libcef.dll) (203)

    Esto se debe a que System.Drawing no está incluido en Windows Nano Server, y Windows Servercore (.Net6).

    Las imágenes oficiales de .NET para Windows se basan en Nano Sever.

    Para solucionar este problema, sugerimos:

  1. Construye y despliega tu proyecto como `autocontenido (pulse para más información en esta opción)
  2. Cambie a imágenes contenedoras basadas en Linux cambiando la siguiente propiedad en su archivo .csproj:
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
      to  
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
XML

A continuación, puede añadir las dependencias de 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

(Las dependencias anteriores son para Debian 11, aunque pueden consultarse dependencias específicas para Ubuntu, CentOs, Amazon Linux y otros. aquí)