我正在尝试调用loggerFactory.AddSerilog();根据this文档,但无法识别AddSerilog方法:
“错误CS1061'ILoggerFactory'不包含'AddSerilog'的定义,也没有扩展方法'AddSerilog'接受第一个......”。
我正在使用ASP.NET CORE和完整的.NET框架。我究竟做错了什么?
您可能会在project.json中忘记以下这一行
"Serilog.Extensions.Logging": "1.0.0",
另见https://carlos.mendible.com/2016/09/19/step-step-serilog-asp-net-core/
发布的答案是正确的,但我想补充一点,您可能想要使用NuGet包管理器,这样您就可以获得最新版本。
右键单击解决方案
- >选择“管理解决方案的NuGet包”
- >在搜索框中输入“serilog.extensions.logging”
- >单击Serilog.Extensions.Logging并按安装
您将获得您应该选择最新版本的不同版本的下拉列表。
或者从Package Manager控制台更快地验证Default Project下拉列表是否已选择并运行您的项目
install-package Serilog.Extensions.Logging
不同的情况,但同样的问题。在我的例子中,我使用的是.Net Core 2.1,并且有一个对Serilog的NuGet引用,但是缺少对Serilog.AspNetCore的引用。问题首先表现为.UserSerilog()未找到Program.cs下我的CreateWebHostBuilder静态方法的IWebHostBuilder。
将Serilog.AspNetCore NuGet包添加到我的项目中解决了这个问题。