Dotnet核心3.1 Identityserver缺少Newtonsoft.Json 12.0.0

问题描述 投票:0回答:1

[在尝试在我的dotnet core 3.1应用程序中运行Identityserver4时遇到问题

我遵循了Identityserver的基本配置指南,并将其写入启动文件中的configureService方法。

  services.AddIdentityServer((x) =>
         {
             x.PublicOrigin = Environment.GetEnvironmentVariable("baseUrl");
         })
         .AddInMemoryApiResources(Config.Apis())
         .AddDeveloperSigningCredential()
         .AddCorsPolicyService<CorsPolicyProvider>()
         .AddInMemoryClients(Config.Clients)
         .AddExtensionGrantValidator<AzureLoginGrant>()
         .AddProfileService<ExtendedProfileService>();

从VS在本地运行该应用程序,它完全可以正常运行。但是,当我从应用程序构建容器映像并尝试运行它时,它甚至没有启动。获取此错误消息。

Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
   at Microsoft.Extensions.DependencyInjection.IdentityServerBuilderExtensionsCrypto.AddDeveloperSigningCredential(IIdentityServerBuilder builder, Boolean persistKey, String filename, RsaSigningAlgorithm signingAlgorithm)
   at infradev_auth_service.Startup.ConfigureServices(IServiceCollection services) in /src/infradev-auth-service/Startup.cs:line 63
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.InvokeCore(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.<Invoke>g__Startup|0(IServiceCollection serviceCollection)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.<Build>b__0(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass12_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
   at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at infradev_auth_service.Program.Main(String[] args) in /src/infradev-auth-service/Program.cs:line 27

任何想法可能是什么原因?

每个软件包运行最新的。.csproj

  <ItemGroup>
    <PackageReference Include="IdentityServer4" Version="3.1.2" />
    <PackageReference Include="MediatR" Version="8.0.1" />
    <PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="8.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
    <PackageReference Include="Serilog" Version="2.9.0" />
    <PackageReference Include="Serilog.AspNetCore" Version="3.2.0" />
    <PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
  </ItemGroup>  
.net-core identityserver4
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.