Serilog的AddSerilog无法识别

问题描述 投票:11回答:3

我正在尝试调用loggerFactory.AddSerilog();根据this文档,但无法识别AddSerilog方法:

“错误CS1061'ILoggerFactory'不包含'AddSerilog'的定义,也没有扩展方法'AddSerilog'接受第一个......”。

我正在使用ASP.NET CORE和完整的.NET框架。我究竟做错了什么?

c# .net asp.net-core serilog
3个回答
34
投票

您可能会在project.json中忘记以下这一行

"Serilog.Extensions.Logging": "1.0.0",

另见https://carlos.mendible.com/2016/09/19/step-step-serilog-asp-net-core/


11
投票

发布的答案是正确的,但我想补充一点,您可能想要使用NuGet包管理器,这样您就可以获得最新版本。

右键单击解决方案

- >选择“管理解决方案的NuGet包”

- >在搜索框中输入“serilog.extensions.logging”

- >单击Serilog.Extensions.Logging并按安装

您将获得您应该选择最新版本的不同版本的下拉列表。

或者从Package Manager控制台更快地验证Default Project下拉列表是否已选择并运行您的项目

install-package Serilog.Extensions.Logging

10
投票

不同的情况,但同样的问题。在我的例子中,我使用的是.Net Core 2.1,并且有一个对Serilog的NuGet引用,但是缺少对Serilog.AspNetCore的引用。问题首先表现为.UserSerilog()未找到Program.cs下我的CreateWebHostBuilder静态方法的IWebHostBuilder。

将Serilog.AspNetCore NuGet包添加到我的项目中解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.