c# – 在docker容器中运行的Identity Server 4异常:无法加载DLL
发布时间:2020-12-15 21:02:58 所属栏目:百科 来源:网络整理
导读:我试图让Identity Server 4在Docker容器中运行ASP.NET Core并继续获得以下异常 Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. --- System.TypeInitializationException: T
我试图让Identity Server 4在Docker容器中运行ASP.NET Core并继续获得以下异常
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'System.Security.Cryptography.Native.OpenSsl': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at Interop.Crypto.GetMaxMdSize() at Interop.Crypto..cctor() --- End of inner exception stack trace --- at Interop.Crypto.GetRandomBytes(Byte[] buf,Int32 num) at System.Security.Cryptography.RNGCryptoServiceProvider.GetBytes(Byte[] data) at IdentityModel.CryptoRandom.CreateUniqueId(Int32 length) at Microsoft.Extensions.DependencyInjection.IdentityServerBuilderExtensions.SetTemporarySigningCredential(IIdentityServerBuilder builder) at Microsoft.Extensions.DependencyInjection.IdentityServerServiceCollectionExtensions.AddDeveloperIdentityServer(IServiceCollection services) at Identity.Startup.ConfigureServices(IServiceCollection services) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target,Object[] arguments,Signature sig,Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object[] parameters,Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,CultureInfo culture) at Microsoft.AspNetCore.Hosting.Internal.ConfigureServicesBuilder.Invoke(Object instance,IServiceCollection exportServices) at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices() at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication() at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() at Identity.Program.Main(String[] args) DockerFile FROM microsoft/dotnet:latest WORKDIR /app ENV ASPNETCORE_URLS http://*:80 EXPOSE 80 ENTRYPOINT ["dotnet","Identity.dll"] COPY . /app Project.json { "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1","type": "platform" },"Microsoft.AspNetCore.Mvc": "1.0.1","Microsoft.AspNetCore.Routing": "1.0.1","Microsoft.AspNetCore.Server.IISIntegration": "1.0.0","Microsoft.AspNetCore.Server.Kestrel": "1.0.1","Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0","Microsoft.Extensions.Configuration.FileExtensions": "1.0.0","Microsoft.Extensions.Configuration.Json": "1.0.0","Microsoft.Extensions.Configuration.CommandLine": "1.0.0","Microsoft.Extensions.Logging": "1.0.0","Microsoft.Extensions.Logging.Console": "1.0.0","Microsoft.Extensions.Logging.Debug": "1.0.0","Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0","Microsoft.AspNetCore.Diagnostics": "1.0.0","Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final","CassandraCSharpDriver": "3.1.0-beta1","Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0","Microsoft.AspNetCore.StaticFiles": "1.0.0","Microsoft.AspNetCore.Cors": "1.1.0-preview1-final","Core.Data.Cassandra": "0.1.0","IdentityServer4": "1.0.0-rc2" },"tools": { "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" },"frameworks": { "netcoreapp1.0": { "imports": [ "dotnet5.6","portable-net45+win8" ] } },"buildOptions": { "emitEntryPoint": true,"preserveCompilationContext": true },"runtimeOptions": { "configProperties": { "System.GC.Server": true } },"publishOptions": { "include": [ "wwwroot","**/*.cshtml","appsettings.json","web.config","Dockerfile.debug","Dockerfile","docker-compose.debug.yml","docker-compose.yml" ] },"scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] },"tooling": { "defaultNamespace": "Identity" } } 解决方法
我相信这是因为你混合了1.0.x,1.1.0包和1.0.0运行时.在任何地方都使用1.0.x或1.1.0(并相应地定位netcoreapp1.0或netcoreapp1.1).关于github的相关问题:
https://github.com/dotnet/corefx/issues/12517
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——NAND 8位
- C#中如何控制.Log,Print_R(),Debug.Trace?
- 如何抽象一个Vue公共组件
- c语言 数据结构实现之字符串
- swift – 我可以将枚举定义为另一个枚举的子集吗?
- ruby-on-rails – 运行资产:预编译只挂起,仅在生产中
- ruby-on-rails – 是否有任何可以使用Cucumber场景生成模型
- ruby – 通过Capistrano创建crontab而不是使用crontab -e
- c – SFINAE sizeof =检测表达式是否编译
- ruby-on-rails-4 – 捆绑更新后损坏的FB-omniauth,凭据无效