簡體   English   中英

遷移到 .net 6 無法加載 ICU 庫

[英]Migration to .net 6 Unable to load ICU library

我收到此錯誤

Exception message: Unable to load ICU library.;
Inner exception: ;
StackTrace: at DevExpress.Text.Interop.ICUInterop.LoadSharedLibrary(NativeLibraryLoader libraryLoader)
at DevExpress.Text.Interop.ICUInterop.<>c.<.cctor>b__9_0() 

在遷移到.Net 6 后,在我的應用程序中將 html 轉換為 pdf 期間

我在 docker 容器 alpine.3.16-x64 中運行 .NET 6.0.7

FROM mcr.microsoft.com/dotnet/aspnet:6.0.7-alpine3.16

ARG APP_DIRECTORY

WORKDIR /app

RUN apk add --no-cache harfbuzz-icu ttf-opensans && \
    apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/main libcrypto1.0 libssl1.0 && \
    apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing libgdiplus-dev && \
    apk add --no-cache icu icu-libs icu-dev icu-data-full icu-static icu-doc harfbuzz-icu harfbuzz-dev && \
    rm -rf /tmp/* /var/cache/apk/*
    
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true

我的 runtimeconfig.json

{
  "configProperties": {
    "System.Drawing.EnableUnixSupport": true,
    "System.Globalization.Invariant": true
  }
} 

有人在從 5.0 升級到 6.0 的過程中遇到同樣的問題嗎?

問題出在ICU圖書館。 Alpine3.16有icu版本71

https://github.com/unicode-org/icu/releases/tag/release-71-1

所以我們降級到 alpine3.15,它的 icu 版本為 69,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM