Asp.net核心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)
答案 0 :(得分:1)
听起来像是升级问题。我猜您可能最近从1.x升级了?
我会尝试:
Nuget程序包->确保已安装的唯一与Web相关的程序包是Microsoft.AspNetCore.App和Microsoft.NETCore.App。您可能还会有一些CodeGeneration程序包,这不必担心。版本应在2.1左右。
确保从本迁移指南中提到的所有内容中清除.csproj:https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/?view=aspnetcore-2.1
最后的冰雹玛丽正在清除任何.config文件中的所有奇怪内容和/或重新安装Nuget软件包。 (并且在最坏的情况下,请检查所有与非2.1网络相关的DLL的引用)