web-dev-qa-db-ja.com

SerilogのAddSerilogが認識されない

this ドキュメントに従ってloggerFactory.AddSerilog();を呼び出そうとしていますが、AddSerilogメソッドが認識されません:

「エラーCS1061 'ILoggerFactory'には 'AddSerilog'の定義が含まれておらず、最初の...を受け入れる拡張メソッド 'AddSerilog'がありません。

完全な.NETフレームワークでASP.NET COREを使用しています。何が悪いのですか?

19
ashilon

あなたはproject.jsonのこの次の行を忘れるかもしれません

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

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

46
Teerachai

状況は異なりますが、同じ問題です。私の場合、.Net Core 2.1を使用していて、SerilogへのNuGet参照がありましたが、Serilog.AspNetCoreへの参照がありませんでした。この問題は、最初に、Program.csの下にあるCreateWebHostBuilder静的メソッドのIWebHostBuilderで.UserSerilog()が見つからないことが明らかになりました。

Serilog.AspNetCore NuGetパッケージをプロジェクトに追加すると問題が解決しました。

23
nbrosz

投稿された答えは正しいですが、最新バージョンを入手できる方法でNuGetパッケージマネージャーを使用することをお勧めします。

ソリューションを右クリック

->「ソリューションのNuGetパッケージの管理」を選択します

->検索ボックスに「serilog.extensions.logging」と入力します

-> Serilog.Extensions.Loggingをクリックし、インストールを押します

最新を選択する必要があるさまざまなバージョンのドロップダウンリストが表示されます。

または、パッケージマネージャーコンソールからすばやく実行して、[既定のプロジェクト]ドロップダウンでプロジェクトが選択され、実行されていることを確認します

install-package Serilog.Extensions.Logging
14
James Wierzba