Ein Docker kann nicht mit OpenCV und Tesseract für eine .NET 8.0 -App erstellenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Ein Docker kann nicht mit OpenCV und Tesseract für eine .NET 8.0 -App erstellen

Post by Anonymous »

Ich habe eine Dockerfile erstellt, die meine .NET -API erstellen muss, und einige Bibliotheken müssen arbeiten, z. B. OpenCV und Tesseract. Mein Dockerfile baut Container und Bilder richtig auf, aber sobald eine meiner Klassen OpenCV /Tesseract verwenden muss, ist diese Fehler auftritt: < /p>
2025-05-22 11:19:19 System.Typeinitialisierung: Der Typ-Initialisierer für 'opencvsharp.internal.NATIVEMETHODE' WIRNEM AUTSEW ANNEHME. 11:19:19 ---> system.dllnotFoundException: Die gemeinsame Bibliothek kann nicht geladen werden. Um die Ladeprobleme zu diagnostizieren, sollten Sie ein Tool wie Strace verwenden. Wenn Sie GLIBC verwenden, sollten Sie die Variable der LD_DEBUG-Umgebungsvariable festlegen:
2025-05-22 11:19:19 libavcodec.so.58: Die Shared-Objektdatei kann nicht öffnen: Keine solche Datei oder Verzeichnis
2025-05-22 11:19:19 /usr/share/dotnet/shared/microsoft.netcore.app/8.0.16/opencvsharpextern.so: Die freigegebene Objektdatei nicht öffnen: Keine solche Datei oder Verzeichnis
2025-05-22 11:19:19 /usr/share/dotnet/shared/microsoft.netcore.app/8.0.16/libopencvsharpextern.so: Die freigegebene Objektdatei nicht öffnen: Keine solche Datei oder Verzeichnis
2025-05-22 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/OpenCvSharpExtern: cannot open shared object file: No such file or directory
2025-05-22 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/libOpenCvSharpExtern: Shared -Objektdatei kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis < /p>
Die Dockerfile ist Folgendes: < /p>
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /App

COPY . ./
RUN dotnet restore
RUN dotnet publish -c Release -r linux-x64 --self-contained false -o out

# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /App

# Instala dependencias de OpenCV y Tesseract
RUN apt-get update
RUN apt-get -y install tesseract-ocr
RUN apt-get install -y \
libopencv-dev \
libopencv-core-dev \
libopencv-imgproc-dev \
libopencv-imgcodecs-dev \
libopencv-highgui-dev \
libgl1-mesa-glx \
libglib2.0-0 \
ffmpeg \
libsm6 \
libxext6 \
libxrender1 \
libgtk2.0-dev \
libtesseract-dev \
&& ln -s /usr/lib/x86_64-linux-gnu/libtesseract.so.5 /usr/lib/x86_64-linux-gnu/libtesseract.so.4 \
&& rm -rf /var/lib/apt/lists/*

COPY --from=build /App/out ./

ENV LD_LIBRARY_PATH=/App:/usr/local/lib:/usr/lib/x86_64-linux-gnu

# Symlinks por compatibilidad
RUN ln -s /App/libOpenCvSharpExtern.so /App/OpenCvSharpExtern.so || true && \
ln -s /App/libOpenCvSharpExtern.so /App/OpenCvSharpExtern || true && \
ln -s /App/libOpenCvSharpExtern.so /App/libOpenCvSharpExtern || true

ENTRYPOINT ["dotnet", "DataViewerApi.dll"]
< /code>
Gedanken? Ich habe schon eine Weile damit zu kämpfen.
Danke!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post