启动应用程序时无法激活类型"Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine



Asp.net 核心 2.1

启动.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}");
});
}

错误信息:

无效操作异常: 无法激活类型 'Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine'.以下 构造函数是模棱两可的:空 .ctor(Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider, Microsoft.AspNetCore.Mvc.Razor.IRazorPageActivator, System.Text.Encodings.Web.HtmlEncoder, Microsoft.Extensions.Options.IOptions1[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.IOptions1[Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions], Microsoft.AspNetCore.Razor.Language.RazorProjectFileSystem, Microsoft.Extensions.Logging.ILoggerFactory, 系统.诊断.诊断源(

听起来像是升级的问题。我猜你最近可能从 1.x 升级了?

我会试试这个:

  1. Nuget 包 -> 确保仅与"Web"相关的已安装包 Microsoft.AspNetCore.App 且 Microsoft.NETCore.App。您可能还会有一些CodeGeneration软件包,这不应该是一个问题。版本应该在 2.1 左右。

  2. 确保从本迁移指南中提到的所有内容中清除 .csproj:https://learn.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/?view=aspnetcore-2.1

  3. 最后一个冰雹玛丽正在清除任何.config文件中的任何奇怪内容和/或重新安装Nuget包。(在最坏的情况下,检查所有引用中是否有任何与 Web 无关的 DLL(

相关内容

最新更新