繁体   English   中英

如何在project.json中引用特定版本的NetStandard?

[英]How to reference a specific version of NetStandard in project.json?

我正在努力找出如何强制npm( Nuget软件包管理器 )解析NetStandard1.X平台的特定版本。

我正在尝试使用Serilog,但它支持的.NetStandard版本是v1.3。 有什么方法可以通过某些命令或开关或选项在project.json文件中强制这种行为。

        {
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Serilog": "2.2.1"
  },

  "frameworks": {
    "netstandard1.3": {
      "imports": "dnxcore50",
      "dependencies": {
      }
    }
  }
}

当您指定v1.3时 ,最终将得到v1.6 当然一定有办法做到这一点吗? 我正在尝试升级使用log4net的旧.net框架4.6类库,而我在这里苦苦挣扎。

错误转储:

Package Serilog 2.2.1 is not compatible with netstandard1.6 (.NETStandard,Version=v1.6). Package Serilog 2.2.1 supports:
  - net45 (.NETFramework,Version=v4.5)
  - net46 (.NETFramework,Version=v4.6)
  - netstandard1.0 (.NETStandard,Version=v1.0)
  - netstandard1.3 (.NETStandard,Version=v1.3)
One or more packages are incompatible with .NETStandard,Version=v1.6.

DotNet核心版本信息:

产品信息:

版本:1.0.0-preview2-003131

提交SHA-1哈希值:635cf40e58

您的project.json在我的机器上正确还原,因此我猜想软件包/版本有问题。

请尝试更改Serilog依赖版本:

"Serilog": "2.3.0-dev-00711"

或者,如您在我们的聊天中建议的那样,将礼仪移入framework标签:

"frameworks": { 
    "netstandard1.6": { 
        "imports": "dotnet5.6", 
        "dependencies": { 
            "Serilog": "2.3.0-dev-00711" 
        } 
    } 
} 

我不太确定我了解问题是什么,或者究竟是什么问题。

但是关于project.json的让我NETStandard.Library是,即使您的目标是netstandard1.3NETStandard.Library的版本NETStandard.Library应该是1.6.0 (是的,这很令人困惑。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM