2017-08-08 68 views
1

我有一个dotnet核心1.1应用程序(在VS中,目标.NETCoreApp 1.1)。我无法通过NuGet安装NLog 4.4.11,因为它依赖于dotnet框架。 Nuget报告如下:NLog 4.4.11是否可用于dotnet核心1.1应用程序?

Package NLog 4.4.11 is not compatible with netcoreapp1.1  
(.NETCoreApp,Version=v1.1). Package NLog 4.4.11 supports: 
    - monoandroid10 (MonoAndroid,Version=v1.0) 
    - net35 (.NETFramework,Version=v3.5) 
    - net40 (.NETFramework,Version=v4.0) 
    - net45 (.NETFramework,Version=v4.5) 
    - sl4 (Silverlight,Version=v4.0) 
    - sl5 (Silverlight,Version=v5.0) 
    - wp8 (WindowsPhone,Version=v8.0) 
    - xamarinios10 (Xamarin.iOS,Version=v1.0) 

到目前为止好。

但是,NLog.Extensions.Logging(https://github.com/NLog/NLog.Extensions.Logging)应该对dotnet核心工作,所以我安装了它。在VS 2017中,该项目包含NLog 4.4.11作为依赖项。

这很混乱,因为我不能直接使用NLog,但可以一次删除?

任何人都有这方面的见解?

+0

NLog 5.0 BETA是唯一支持Net Core的版本:https://www.nuget.org/packages/NLog/5.0.0-beta09 –

回答

0

您可以考虑在日志记录与NLog之间添加一个Standard 2.0库项目和您想要登录的项目。

简言之,方案如下:

  • Standard-2-Project - 包装测井组件,并且具有依赖于NLog 4.4.11
  • NET-4-Project-A - 用于记录
  • NET-4-Project-B使用Standard-2-Project - 使用Standard-2-Project用于记录
  • NET-Core-Project-C - 使用Standard-2-Project进行记录
  • NET-Core-Project-D - 使用Standard-2-Project用于记录
  • ... - 使用Standard-2-Project用于记录

希望有所帮助。

1

对于.NET核心1你需要NLOG 5.

的测试版混乱的部分是在这里,ASP.NET内核可以在完整的.NET框架(例如.NET 4.6)运行。

NLog.Extensions.Logging适用于ASP.NET Core和.NET Core控制台应用程序,因此,在完整的.NET框架上运行时,它也适用于ASP.NET Core。

相关问题