我有一个dotnet核心1.1应用程序(在VS中,目标是.NETCoreApp 1.1)。我无法通过NuGet安装NLog 4.4.11,因为它依赖于dotnet框架。 Nuget报告以下内容:
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 :(得分:1)
对于.NET Core 1,您需要NLog 5的测试版。
令人困惑的部分是ASP.NET Core可以也在完整的.NET框架(例如.NET 4.6)上运行。
NLog.Extensions.Logging适用于ASP.NET Core和.NET Core控制台应用程序,因此在完整的.NET框架上运行时,这也适用于ASP.NET Core。
答案 1 :(得分:0)
您可以考虑在使用Standard 2.0
和您要登录的项目之间添加NLog
库项目的选项。
简而言之,该计划如下:
Standard-2-Project
- 包装日志记录组件并依赖于NLog 4.4.11
package NET-4-Project-A
- 使用Standard-2-Project
进行记录NET-4-Project-B
- 使用Standard-2-Project
进行记录NET-Core-Project-C
- 使用Standard-2-Project
进行记录NET-Core-Project-D
- 使用Standard-2-Project
进行记录...
- 使用Standard-2-Project
进行记录希望有所帮助。