1

我正在开发一个库,我希望能够为传统的 .NET Framework 以及 .NET Core 编译它。我从一个适用于 .NET Framework 4.5 的经典 VS 解决方案开始。然后我添加了一个project.json看起来像这样的文件:

{
  "version": "0.1.3-*",

  "frameworks": {
    "net45": {
      "dependencies": {
      }
    },
    "dnxcore50": {
      "dependencies": {
        "NETStandard.Library": "1.0.0-rc2-23811",
        "System.Net.Http": "4.0.1-beta-23516",
        "System.Security.Principal": "4.0.1-beta-23516",
        "System.Security.Cryptography.Hashing.Algorithms": "4.0.0-beta-23225",
        "System.Security.Cryptography.X509Certificates": "4.0.0-beta-23516",
        "System.Xml.XDocument": "4.0.11-beta-23516"
      }
    }
  }
}

现在它可以使用 .NET 核心编译,但 VS 2015.1 抱怨我在 .NET 文件中缺少运行时部分project.json。我在文件中添加了以下代码:

"runtimes": {
  "win": {}
}

我试图在 frameworks/net45 级别添加它,但这没有帮助。它应该在根级别添加,但现在它抱怨以下错误

< assembly >在DNXCore,Version=v5.0上提供了<assembly>的编译时参考程序,但是没有与win兼容的运行时程序集。

有很多关于如何在 dnxcore 中使用 project.json 文件的文档,但是关于在传统 .NET 框架中使用 project.json 的文档很少。这是一个遗憾,因为它不鼓励开发人员将他们的库移植到 dnxcore,同时保持与传统 .NET 框架的兼容性,这将是未来几年最重要的框架。

4

0 回答 0