2016-07-31 112 views
5

我想打電話給loggerFactory.AddSerilog();按照this文檔,但AddSerilog方法不被識別:Serilog的AddSerilog無法識別

「錯誤CS1061‘ILoggerFactory’不包含關於‘AddSerilog’的定義和沒有擴展方法‘AddSerilog’接受第一...」。

我使用ASP.NET CORE與完整的.NET框架。 我在做什麼錯?

+2

顯示您project.json文件 –

+0

'「Microsoft.AspNetCore.Server.IISIntegration」:「1.0。 0「, 」Microsoft.AspNetCore.Server.Kestrel「:」1.0.0「, 」Microsoft.AspNetCore.StaticFiles「:」1.0.0「, 」Microsoft.Extensions.Configuration.EnvironmentVariables「:」1.0.0 「 」Microsoft.Extensions.Configuration.Json「: 」1.0.0「, 」Microsoft.Extensions.Logging「: 」1.0.0「, 」 Microsoft.Extension s.Logging.Console「:」1.0.0「, 」Microsoft.Extensions.Logging.Debug「:」1.0.0「, 」Microsoft.Extensions.Options.ConfigurationExtensions「:」1.0.0「, 」Serilog 「: 「2.1.0」, 「Serilog.Sinks.MSSqlServer」: 「4.0.0」' – ashilon

+0

這只是文件的一部分。由於字符太多,我無法包含所有內容。 – ashilon

回答

19

你可能會忘記在這project.json下面一行

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

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

+0

THANKYOU。這一直令我瘋狂。這裏沒有提到。所有的教程,和git轂,何況serilog主DLL和serilog.extensions.logging.file,但沒有人告訴你在任何地方,你需要這一個了。爲了增加對受傷的侮辱,在主lib中對它的支持很弱,所以dotnetcore解析了lib庫,但沒有解決方法,所以沒有跡象表明在intellisense中需要另一個lib。如果可以的話,我會投票一百萬次。 – shawty

5

張貼的答案是正確的,但我會補充一點,你可能要使用到NuGet包管理器方式你可以得到最新版本。

右鍵單擊解決方案

- >選擇 「管理的解決方案的NuGet包」

- >鍵入 「serilog.extensions.logging」 到搜索框中

- >點擊Serilog .Extensions.Logging and press install

您將得到不同版本的下拉列表,您應該選擇最新版本。

或者從包管理器控制檯更快確保默認項目下拉了您的項目選擇和運行

install-package Serilog.Extensions.Logging 
+1

更多信息。謝謝詹姆斯。 – ashilon