我正在制作一个。net Core应用程序,我想启动一个应用程序,但它在这行代码中说:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
…它说这个错误:
System.TypeInitializationException: 'The type initializer for 'Microsoft.AspNetCore.Mvc.MvcCoreLoggerExtensions' threw an exception.'
…这是一种新的东西,我以前在启动应用程序时从未见过。我该怎么修理它?
…内部异常为
Method not found: 'System.Action`4<Microsoft.Extensions.Logging.ILogger,!!0,!!1,System.Exception> Microsoft.Extensions.Logging.LoggerMessage.Define(Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, System.String, Boolean)'.
c
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
…
。. NET Core 6.0是最新版本…身份包含在应用程序中。
我也面临同样的问题。为了进行实验,我创建了一个新项目,并在其中添加了最新版本的Microsoft.Extensions.Logging(目前为6.0.0-preview.7.21377.19)。项目崩溃,并出现与您相同的错误。问题是在LoggerMessage.Define中没有四个参数的重载。把包降级到6.0.0-preview.6.21352.12版本对我很有帮助。