为了账号安全,请及时绑定邮箱和手机立即绑定

无法解析 ASP.NET 示例项目的服务(使用核心 1 而不是核心 2)

无法解析 ASP.NET 示例项目的服务(使用核心 1 而不是核心 2)

C#
潇湘沐 2021-11-07 20:13:40
我正在使用 ASP.Net 核心 1 而不是 2,并尝试在我的系统上运行 OpenIdDict 示例。我做了一些小改动,使项目可以为我构建。但是我在调试时出错,不知道如何处理。有人对我有想法/提示吗?非常感谢!System.InvalidOperationException:尝试激活“AuthorizationServer.Startup”时无法解析“Microsoft.Extensions.Configuration.IConfiguration”类型的服务。在 Microsoft.Extensions.Internal.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider) 在 Microsoft.AspNetCore.Hosting.Internal.StartupLoader.LoadMethods(IServiceProvider services, Type startupType, String environmentName) 在 Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.<>c__DisplayClass1_0 .b__1(IServiceProvider sp) at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider,程序.csusing Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.Logging;namespace AuthorizationServer{    public static class Program    {        public static void Main(string[] args)        {            var configuration = new ConfigurationBuilder()                .AddEnvironmentVariables()                .AddCommandLine(args)                .Build();            var host = new WebHostBuilder()                .ConfigureLogging(options => options.AddConsole())                .ConfigureLogging(options => options.AddDebug())                .UseConfiguration(configuration)                .UseIISIntegration()                .UseKestrel()                .UseStartup<Startup>()                .Build();            host.Run();        }    }}
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

在 ASP.NET Core 1.x 中不可能注入IConfiguration到您的Startup构造函数中。相反,您可以注入一个IHostingEnvironment并构建您自己的IConfiguration实例,如下所示:


public Startup(IHostingEnvironment env)

{

    Configuration = new ConfigurationBuilder()

        .SetBasePath(env.ContentRootPath)

        .AddJsonFile("appsettings.json")

        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)

        .AddEnvironmentVariables()

        .Build();

}

AddJsonFile如果您没有任何appsettings.json文件,则可以排除这些行- 我所包含的只是一个基于 ASP.NET Core 1.x 生成的模板的示例。


查看完整回答
反对 回复 2021-11-07
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信