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

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

¿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 paramá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í)