无法加载DLL'activeds.dll'

时间:2019-05-27 08:13:37

标签: docker asp.net-core ldap asp.net-core-2.2

我知道有人问过这个问题,但是没人回答。

我正在使用JWT令牌载体在Core 2.2上构建Web API。在令牌请求中,我添加了检查用户是否存在于我们的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);

导致上述错误的原因。

我是docker的新手。我尝试过处理图像:

mcr.microsoft.com/dotnet/core/sdk mcr.microsoft.com/dotnet/core/aspnet microsoft / aspnetcore-build

在所有情况下相同的结果

我已经在docker文件中公开了LDAP端口(或者我想我已经公开了),仍然出现相同的错误。

我当前的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容器。

我花了三天的时间来解决这个问题。如果您有任何想法,请帮助我解决此问题。

0 个答案:

没有答案