IronPDF on Azure Linux with WEBSITE_RUN_FROM_PACKAGE

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

Al desplegar una API .NET utilizando IronPDF en un Azure Linux App Service con WEBSITE_RUN_FROM_PACKAGE habilitado, el renderizador de Chrome no logra desplegarse y la aplicación arroja un error al iniciar.

Error while deploying IronPdf Chrome renderer: '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')'

Cuando WEBSITE_RUN_FROM_PACKAGE está configurado, el directorio /home/site/wwwroot se vuelve de solo lectura. IronPDF necesita extraer binarios del renderizador nativo de Chrome y bibliotecas de tiempo de ejecución a una ubicación escribible al inicio, por lo que la restricción de solo lectura bloquea el despliegue. Además, el entorno Linux por defecto de Azure puede no tener las bibliotecas del sistema necesarias preinstaladas, lo que causa errores de objetos compartidos faltantes.

Solución

Tres opciones están disponibles dependiendo de las restricciones de su despliegue.

Opción 1: Instalar dependencias faltantes a través de SSH

Acceda al App Service a través de SSH y ejecute los siguientes comandos para instalar las bibliotecas del sistema requeridas:

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

Esta es una solución temporal. Los paquetes instalados de esta manera no persisten a través de reinicios y no son adecuados para entornos de producción que tienen restricciones de firewall de salida. Para la lista completa de paquetes necesarios por distribución de Linux, consulte la guía de despliegue en Linux.

Opción 2: Usar un contenedor Docker personalizado (Recomendado para Linux)

Construya una imagen Docker personalizada basada en Ubuntu o Debian, instale los paquetes del sistema requeridos con apt, e incluya los paquetes NuGet IronPdf y IronPdf.Native.Chrome.Linux en su archivo de proyecto. Este enfoque proporciona al renderizador un sistema de archivos escribible y dependencias preinstaladas en el momento de la construcción de la imagen.

Agregue los paquetes NuGet correspondientes a su .csproj:

<PackageReference Include="IronPdf" Version="*" />
<PackageReference Include="IronPdf.Native.Chrome.Linux" Version="*" />
<PackageReference Include="IronPdf" Version="*" />
<PackageReference Include="IronPdf.Native.Chrome.Linux" Version="*" />
XML

Asegúrese de que la versión de IronPdf.Native.Chrome.Linux coincida con la versión de su paquete IronPdf. Incluir el paquete nativo en el proyecto evita que IronPDF intente una descarga en tiempo de ejecución, lo cual fallaría en un entorno de solo lectura o con restricciones de red.

Consulte la guía de Docker de IronPDF para un ejemplo completo de Dockerfile.

Option 3: Migrate to a Windows App Service

Los Windows App Services no tienen las mismas restricciones de permisos de sistema de archivos para WEBSITE_RUN_FROM_PACKAGE. Las bibliotecas de tiempo de ejecución de IronPDF para Windows son soportadas nativamente y pueden ser extraídas sin problemas. Migrar a un Windows App Service elimina la causa raíz por completo.

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.