'ServiceCollection' 不包含 'GetService' 的定义
'ServiceCollection' does not contain a definition for 'GetService'
在控制台应用程序中使用 .net 6.0.101 Microsoft.Extensions.DependencyInjection.Abstractions
出现调用 GetService
方法时出现的错误。
var serviceProvider = new ServiceCollection();
serviceProvider
.AddLogging()
.AddSingleton<IParentPublisher, ParentPublisher>()
.AddDbContext<LPContext>(options => options.UseSqlServer(configuration["connectionstring"]))
.BuildServiceProvider();
serviceProvider
.GetService<ILoggerFactory>()
.AddConsole(LogLevel.Debug);
首先你的 serviceProvider
实际上应该命名为 serviceCollection
。辅助 - AddConsole
should be called on ILoggingBuilder
parameter of AddLogging
(this is quite old 更改)并且没有超载接受最新包的日志级别。
因此您的代码应如下所示:
var serviceCollection = new ServiceCollection();
serviceCollection
// add stuff
.AddLogging(builder => builder.AddConsole());
var serviceProvider = serviceCollection.BuildServiceProvider();
var loggerFactory = serviceProvider
.GetService<ILoggerFactory>();
您可以通过 appsettings 设置 console log level:
{
"Logging": {
"LogLevel": {
"Microsoft": "Warning"
},
"Console": {
"LogLevel": {
"Microsoft": "Debug"
}
}
}
}
在控制台应用程序中使用 .net 6.0.101 Microsoft.Extensions.DependencyInjection.Abstractions
出现调用 GetService
方法时出现的错误。
var serviceProvider = new ServiceCollection();
serviceProvider
.AddLogging()
.AddSingleton<IParentPublisher, ParentPublisher>()
.AddDbContext<LPContext>(options => options.UseSqlServer(configuration["connectionstring"]))
.BuildServiceProvider();
serviceProvider
.GetService<ILoggerFactory>()
.AddConsole(LogLevel.Debug);
首先你的 serviceProvider
实际上应该命名为 serviceCollection
。辅助 - AddConsole
should be called on ILoggingBuilder
parameter of AddLogging
(this is quite old 更改)并且没有超载接受最新包的日志级别。
因此您的代码应如下所示:
var serviceCollection = new ServiceCollection();
serviceCollection
// add stuff
.AddLogging(builder => builder.AddConsole());
var serviceProvider = serviceCollection.BuildServiceProvider();
var loggerFactory = serviceProvider
.GetService<ILoggerFactory>();
您可以通过 appsettings 设置 console log level:
{
"Logging": {
"LogLevel": {
"Microsoft": "Warning"
},
"Console": {
"LogLevel": {
"Microsoft": "Debug"
}
}
}
}