我在Visual Studio 2019 Preview 2.2中使用默认模板创建了ASP.NET Core 3.0 Web应用程序,并尝试在启动中注入ILogger:
namespace WebApplication1
{
public class Startup
{
private readonly ILogger _logger;
public Startup(IConfiguration configuration, ILogger<Startup> logger)
{
Configuration = configuration;
_logger = logger;
}
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在Program.cs中,我还调用ConfigureLogging()方法:
namespace WebApplication1
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.ClearProviders();
logging.AddConsole();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
Run Code Online (Sandbox Code Playgroud)
它在ASP.NET Core 2.x中工作,但在ASP.NET Core 3中失败,并显示以下错误:
System.InvalidOperationException: …Run Code Online (Sandbox Code Playgroud) c# asp.net-core razor-pages visual-studio-2019 asp.net-core-3.0