Solución de Problemas de Despliegue para Azure Linux App Service

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

Al desplegar IronPDF en un Azure Linux App Service, la aplicación puede fallar al renderizar PDFs debido a bibliotecas del sistema faltantes. Esto ocurre porque los entornos Linux vienen con menos paquetes preinstalados que Windows, y el motor de renderizado de IronPDF requiere bibliotecas compartidas adicionales para operar.

Multiple issues occurred while trying to deploy Chrome (libatk-1.0.so.0: cannot open shared object file: No such file or directory) (IronInterop.so: cannot open shared object file: No such file or directory) (Read-only file system: '/home/site/wwwroot/runtimes')

El error significa que una o más bibliotecas compartidas requeridas por IronInterop.so están ausentes en el entorno Linux. Ejecutar ldd IronInterop.so desde la consola SSH en el servicio de la aplicación identifica exactamente qué bibliotecas faltan. El mensaje del sistema de archivos de solo lectura para la carpeta de runtimes es un síntoma separado de la misma condición de dependencia faltante.

Solución

Paso 1: Identificar dependencias faltantes

  1. Despliegue el servicio de la aplicación desde Visual Studio como de costumbre.
  2. Abra la consola SSH para su Azure Linux App Service.
  3. Navegue al directorio wwwroot:
cd /home/site/wwwroot
  1. Ejecute ldd contra el binario nativo para listar las dependencias no resueltas:
ldd IronInterop.so
  1. Verifique la versión del SO para confirmar qué nombres de paquetes aplican:
cat /etc/os-release

Paso 2: Instalar bibliotecas faltantes

Para la mayoría de las distribuciones de Linux (imágenes basadas en Debian/Ubuntu), instale los paquetes requeridos con:

apt-get update && apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libasound2 libatspi2.0-0

Para las imágenes de Ubuntu 24.04 (utilizadas con .NET 10), use la siguiente instrucción de Dockerfile en su lugar, ya que algunos nombres de paquetes han cambiado:

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

Paso 3: Verificar que todas las dependencias estén resueltas

Ejecute ldd nuevamente para confirmar que no hay entradas no resueltas restantes:

ldd IronInterop.so

Todas las entradas deben mostrar una ruta resuelta en lugar de not found. Una vez que todas las dependencias estén en su lugar, la renderización de PDF a través de la aplicación web funcionará normalmente. Para la lista completa de paquetes requeridos en distribuciones de Linux, consulte la guía de despliegue de Linux.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,088,359 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.