Невозможно активировать тип 'Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine при запуске приложения - PullRequest
0 голосов
/ 02 июля 2018

Asp.net core 2.1

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddMvc()
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

public void Configure(IApplicationBuilder app)
{
    if (this.HostingEnvironment.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseDatabaseErrorPage();
    app.UseDeveloperExceptionPage();
    app.UseMvc(routes => {
        routes.MapRoute(
            name: "default",
            template: "{controller=GenericController}/{action=Get}");
    });
}

Сообщение об ошибке:

InvalidOperationException: невозможно активировать тип 'Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine. Следующие конструкторы неоднозначны: Void .ctor (Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider, Microsoft.AspNetCore.Mvc.Razor.IRazorPageActivator, System.Text.Encodings.Web.HtmlEncoder, Microsoft.Extensions.Options.IOptions 1[Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions], Microsoft.AspNetCore.Razor.Language.RazorProject, Microsoft.Extensions.Logging.ILoggerFactory, System.Diagnostics.DiagnosticSource) Void .ctor(Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider, Microsoft.AspNetCore.Mvc.Razor.IRazorPageActivator, System.Text.Encodings.Web.HtmlEncoder, Microsoft.Extensions.Options.IOptions 1 [Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions], Microsoft.AspNetCore.Razor.Language.RazorProjectFileSystem, Microsoft.Extensions.Logging.ILoggerFactory, System.Diagnostics.DiagnosticSource)

1 Ответ

0 голосов
/ 03 июля 2018

Похоже, проблема с обновлением. Я полагаю, вы недавно обновились с 1.x?

Я бы попробовал это:

  1. Пакеты Nuget -> Убедитесь, что вашими единственными установленными "сетевыми" пакетами являются Microsoft.AspNetCore.App и Microsoft.NETCore.App. Возможно, у вас также будет пакет CodeGeneration, который не должен вызывать беспокойства. Версии должны быть около 2.1.

  2. Убедитесь, что ваш .csproj очищен от всего, что указано в этом руководстве по миграции: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/?view=aspnetcore-2.1

  3. Последнее, что вы можете сделать, это очистить любые странные вещи в любых файлах .config и / или переустановить Nuget-пакеты. (И в худшем случае проверьте все ваши ссылки на наличие любых не связанных с Интернетом DLL-библиотек 2.1)

...