Azure Linux App Service 的部署疑難排解

Curtis Chau
Curtis Chau
Updated: 2026年6月10日

當部署IronPDF到Azure Linux App Service 時,由於缺少系統程式庫,應用程式可能無法呈現PDF。 這是因為Linux環境預裝的套件比Windows少,而IronPDF渲染引擎需要額外的共享程式庫才能運行。

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

錯誤表示Linux環境中缺少IronInterop.so所需的一個或多個共享程式庫。 在應用程式服務上從SSH控制台運行ldd IronInterop.so可以精確識別缺少哪些程式庫。 只讀文件系統關於運行時資料夾的訊息是同一個缺失依賴項條件的不同症狀。

解決方案

步驟1:識別缺失的依賴項

  1. 從Visual Studio正常部署應用程式服務。
  2. 打開您的Azure Linux App Service 的SSH控制台。
  3. 瀏覽到wwwroot目錄:
cd /home/site/wwwroot
Text
  1. 針對本機二進位檔案運行ldd以列出未解決的依賴項:
ldd IronInterop.so
Text
  1. 檢查作業系統版本以確認適用的套件名稱:
cat /etc/os-release
Text

步驟2:安裝缺失的程式庫

對於大多數Linux發行版(Debian/Ubuntu基礎的映像),使用以下命令安裝所需的套件:

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
Text

對於使用.NET 10的Ubuntu 24.04映像,由於某些套件名稱已更改,請使用以下Dockerfile指令:

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
Dockerfile

步驟3:確認所有依賴項已解決

再次運行ldd以確認沒有未解決的項目:

ldd IronInterop.so
Text

所有項目應顯示已解決的路徑而不是not found。 一旦所有的依賴項就位,通過網路應用程式的PDF渲染將正常工作。 有關Linux發行版所需套件的完整列表,請參閱Linux部署指南。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

閱讀更多

準備開始了嗎?

Nuget Downloads 21,739,885版本:2026.10剛剛發布