2016-12-20 22 views
1

現在、NLogを使用して抽象化されたロガーを実装する共通ライブラリを作成しています。NLogターゲティング.NETコアクラスライブラリ.Net 4.6.1

.NET 4.6.1をターゲットとし、NLogを実装した.NET Coreクラスライブラリを作成しましたが、作成した単体テストを実行しようとすると、nlog.configファイルが拾われていない。私はhttps://github.com/NLog/NLog.Extensions.Loggingと書かれた指示にも従ってきましたが、私はそれがAsp.Net Coreをターゲットにしており、.NET Core Class Libraryソリューションではないことに気付きました。

私の質問は、.NETコアクラスライブラリにも当てはまる上記のリンクに記載されている指示ですか、これを実装する別の方法がありますか?

また、.NETコアを使用せずに、代わりに従来の.NETクラスライブラリ実装を使用する必要がありますか?

多くの感謝!

答えて

1

.NET 4.6.1をターゲットにしてNLogを実装しましたが、私が作成した単体テストを実行しようとすると、nlog.configファイル

単体テストとして実行すると、設定ファイルを見つけるのが難しいです。異なるフレームワークは異なる場所を使用しています。次のオプションは動作するはずです

  1. 手動で設定ファイルの場所をNLogに渡します。代わりにConfigureNLogの、

    XElement element = XElement.Parse(configXml); 
    LogManager.Configuration = new XmlLoggingConfiguration(element.CreateReader(), "nlog.config"); 
    
  2. を使用します。

    LogManager.Configuration = new XmlLoggingConfiguration(filePath, true); 
    

    代わりのConfigureNLog()、または

  3. the APIとする設定を作成する、または
  4. 文字列としてXMLを作成し、NLogにそれをフィードを使用

私はnoti Asp.Net Coreのみを対象とし、.NET Core Class Libraryソリューションは対象としていません。

ASP.NETの有無にかかわらず動作します。 ASP.NETの部分will be moved to the NLog.Web package in the future

+0

ありがとうJulian!オプション#1を試してそこから行くでしょう。 – mallows98

関連する問題