Résolution des problèmes de déploiement pour Azure Linux App Service

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

Lors du déploiement d'IronPDF sur un Azure Linux App Service, l'application peut échouer à rendre des PDFs en raison de l'absence de bibliothèques système. Cela se produit parce que les environnements Linux sont livrés avec moins de paquets préinstallés que Windows, et le moteur de rendu IronPDF nécessite des bibliothèques partagées supplémentaires pour fonctionner.

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')

L'erreur signifie qu'une ou plusieurs bibliothèques partagées requises par IronInterop.so sont absentes de l'environnement Linux. Exécuter ldd IronInterop.so depuis la console SSH sur le service d'application identifie exactement quelles bibliothèques manquent. Le message de système de fichiers en lecture seule pour le dossier des runtimes est un symptôme distinct de la même condition de dépendance manquante.

Solution

Étape 1 : Identifier les dépendances manquantes

  1. Déployez le service d'application depuis Visual Studio comme d'habitude.
  2. Ouvrez la console SSH pour votre Azure Linux App Service.
  3. Naviguez jusqu'au répertoire wwwroot :
cd /home/site/wwwroot
  1. Exécutez ldd contre le binaire natif pour lister les dépendances non résolues :
ldd IronInterop.so
  1. Vérifiez la version du système d'exploitation pour confirmer quels noms de paquets s'appliquent :
cat /etc/os-release

Étape 2 : Installer les bibliothèques manquantes

Pour la plupart des distributions Linux (images basées sur Debian/Ubuntu), installez les paquets requis avec :

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

Pour les images Ubuntu 24.04 (utilisées avec .NET 10), utilisez plutôt l'instruction Dockerfile suivante, car certains noms de paquets ont changé :

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

Étape 3 : Vérifier que toutes les dépendances sont résolues

Exécutez à nouveau ldd pour confirmer qu'il n'y a pas d'entrées non résolues restantes :

ldd IronInterop.so

Toutes les entrées doivent afficher un chemin résolu plutôt que not found. Une fois que toutes les dépendances sont en place, le rendu des PDFs via l'application web fonctionnera normalement. Pour la liste complète des paquets requis sur les distributions Linux, consultez le guide de déploiement Linux.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,088,359 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.