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

我正在使用 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,

程序.cs


using 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();

        }

    }

}


潇湘沐
浏览 171回答 1
1回答

沧海一幻觉

在 ASP.NET Core 1.x 中不可能注入IConfiguration到您的Startup构造函数中。相反,您可以注入一个IHostingEnvironment并构建您自己的IConfiguration实例,如下所示:public Startup(IHostingEnvironment env){&nbsp; &nbsp; Configuration = new ConfigurationBuilder()&nbsp; &nbsp; &nbsp; &nbsp; .SetBasePath(env.ContentRootPath)&nbsp; &nbsp; &nbsp; &nbsp; .AddJsonFile("appsettings.json")&nbsp; &nbsp; &nbsp; &nbsp; .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)&nbsp; &nbsp; &nbsp; &nbsp; .AddEnvironmentVariables()&nbsp; &nbsp; &nbsp; &nbsp; .Build();}AddJsonFile如果您没有任何appsettings.json文件,则可以排除这些行- 我所包含的只是一个基于 ASP.NET Core 1.x 生成的模板的示例。
打开App,查看更多内容
随时随地看视频慕课网APP