2025-05-22 11:19:19 System.TypeInitializationException: инициализатор типа для OpenCvSharp.Internal.NativeMethods выдал исключение.
2025-05-22 11:19:19 ---> System.DllNotFoundException: невозможно загрузить общую библиотеку OpenCvSharpExtern или одну из ее зависимостей. Чтобы диагностировать проблемы с загрузкой, рассмотрите возможность использования такого инструмента, как strace. Если вы используете glibc, рассмотрите возможность установки переменной среды LD_DEBUG:
2025-05-22 11:19:19 libavcodec.so.58: невозможно открыть общий объектный файл: такого файла или каталога нет
2025-05-22 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/OpenCvSharpExtern.so: невозможно открыть файл общего объекта: такого файла или каталога нет
22 мая 2025 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/libOpenCvSharpExtern.so: невозможно открыть файл общего объекта: такого файла или каталога нет
22 мая 2025 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/OpenCvSharpExtern: невозможно открыть файл общего объекта: такого файла или каталога нет
2025-05-22 11:19:19 /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.16/libOpenCvSharpExtern: невозможно открыть файл общего объекта: такого файла или каталога нет
Это Dockerfile:
Код: Выделить всё
# 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"]
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/796 ... et-8-0-app
Мобильная версия