InvalidOperationException:尝试激活控制器

时间:2018-02-21 14:34:07

标签: c# .net dependency-injection core

我正在努力更新项目的选项。代码更改中没有任何内容我们只创建一个新的选项类并更新信息。在测试时我突然发现了这个错误:

    InvalidOperationException: Unable to resolve service for type 
    'Genetics.Meeting.Abstracts.Services.AbstractsService' while attempting 
    to activate 'Genetics.Meeting.Abstracts.Controllers.Abstract'.

这是此项目引用的另一个项目中的控制器。我没有在那里进行任何代码更改。

    private AbstractsService _service;

    public Abstract(AbstractsService service)
    {
        _service = service;
    }

这是引用控制器中服务的代码。

    services.AddScoped<AbstractsService>();

这是该项目的Startup.cs中的引用。

在我收到错误的项目中,配置服务:

    public void ConfigureServices(IServiceCollection services)
    {
        DbHelper.ConnectionString = Configuration.GetConnectionString("MeetingDataBase");
        services.AddAbstractOptions(Configuration);
        services.AddOptions();
        services.Configure<Genetics.Lib.Common.GeneticsCommonOption>(Configuration);
        services.Configure<Genetics.Meeting.Abstracts.Options.RuntimeOption>(Configuration.GetSection("RuntimeOption"));
        services.AddGeneticsLists();

        //Areas
        Genetics.Meeting.Areas.AbstractReport.AbstractReportStartup.ConfigureServices(services);
        Genetics.Meeting.Areas.Program.ProgramStartup.ConfigureServices(services);

        services.AddScoped<Modules.ErrorReporter>();
        services.AddScoped<Filters.ErrorReporterSetupFilter>();

        // Add framework services.
        services.AddMvc(option =>
        {
            option.Filters.Add(typeof(Filters.ErrorReporterSetupFilter));
        })
        .AddViewOptions(option =>
        {
            option.HtmlHelperOptions.ClientValidationEnabled = false;
        });
        services.AddApplicationInsightsTelemetry(Configuration);
    }

我是.NET Core的新手,我还在学习,但我找不到问题出在哪里。这刚刚开始发生任何帮助非常感谢。感谢

EDIT 如果我在Abstract控制器上使用AbstractsService注释掉所有代码,那么我会收到此错误。

    InvalidOperationException: The view 'Index' was not found. The 
    following locations were searched:
    /Views/Abstract/Index.cshtml
    /Views/Shared/Index.cshtml

该视图位于Abstract文件夹

不知道是否有帮助

0 个答案:

没有答案