首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'ServiceCollection‘不包含'GetService’的定义

'ServiceCollection‘不包含'GetService’的定义
EN

Stack Overflow用户
提问于 2021-12-30 15:27:42
回答 1查看 140关注 0票数 0

在控制台应用程序中使用.net 6.0.101,Microsoft.Extensions.DependencyInjection.Abstractions给出了调用GetService方法所描述的错误。

代码语言:javascript
运行
复制
    var serviceProvider = new ServiceCollection();
serviceProvider
    .AddLogging()
    .AddSingleton<IParentPublisher, ParentPublisher>()
    .AddDbContext<LPContext>(options => options.UseSqlServer(configuration["connectionstring"]))
    .BuildServiceProvider();

serviceProvider
            .GetService<ILoggerFactory>()
            .AddConsole(LogLevel.Debug);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-30 16:16:15

首先,您的serviceProvider实际上应该被命名为serviceCollection。次要-应该在AddConsoleILoggingBuilder参数上调用AddLogging (这是很大的年长的更改),并且对于最新的包没有重载接受日志级别。

所以您的代码应该如下所示:

代码语言:javascript
运行
复制
var serviceCollection = new ServiceCollection();
serviceCollection
    // add stuff     
    .AddLogging(builder => builder.AddConsole());
var serviceProvider = serviceCollection.BuildServiceProvider();
var loggerFactory = serviceProvider
    .GetService<ILoggerFactory>();

您可以通过应用程序设置设置控制台日志级别

代码语言:javascript
运行
复制
{
    "Logging": {
        "LogLevel": {
            "Microsoft": "Warning"
        },
        "Console": {
            "LogLevel": {
                "Microsoft": "Debug"
            }
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70533593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档