Невозможно загрузить DLL 'activeds.dll' - PullRequest
0 голосов
/ 27 мая 2019

Я знаю, что этот вопрос был задан, но никто не отвечает на него.

Я создаю веб-API на Core 2.2 с токеном-носителем JWT. В запросе токена я добавил проверку, существует ли пользователь на нашем LDAP.

Все работает правильно на IIS и консольном приложении, но когда я запускаю с помощью Docker, я получаю:

"Unable to load DLL 'activeds.dll' or one of its dependencies: The specified module could not be found. (Exception from HRESULT: 0x8007007E)" 

ошибка.

Если пользователь существует, все работает нормально, но когда пользователь не существует, я проверяю статус пользователя с помощью:

UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity (oPrincipalContext, sUserName);

Что вызвало ошибку выше.

Я новичок в докере. Я пытался играть с изображениями:

mcr.microsoft.com / DotNet / ядро ​​/ SDK mcr.microsoft.com/dotnet/core/aspnet Microsoft / aspnetcore-сборка

Во всех случаях один и тот же результат

Я выставил порты LDAP в файле Docker (или я думаю, что выставил) и все еще получаю ту же ошибку.

Мой текущий dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
EXPOSE 383
EXPOSE 636

FROM mcr.microsoft.com/dotnet/core/sdk AS build
WORKDIR /src
COPY ["USITWebApi/USITWebApi.csproj", "USITWebApi/"]
RUN dotnet restore "USITWebApi/USITWebApi.csproj"
COPY . .
WORKDIR "/src/USITWebApi"
RUN dotnet build "USITWebApi.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "USITWebApi.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "USITWebApi.dll"]

Я использую контейнеры Windows.

Я потратил три дня, пытаясь решить эту проблему. Если у вас есть идеи, пожалуйста, помогите мне решить эту проблему.

...