交叉编译dotnet45和dnxcore50

时间:2016-03-28 10:05:09

标签: .net dnx project.json

我正在开发一个库,我希望能够为传统的.NET Framework编译它,还能为.NET核心编译它。我从一个经典的VS解决方案开始,它适用于.NET Framework 4.5。然后我添加了一个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抱怨我错过了project.json中的运行时部分。我将以下代码添加到文件中:

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

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

< 组件>为< 程序集>提供了编译时引用程序集。在DNXCore上,Version = v5.0,但没有与win兼容的运行时程序集。

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

0 个答案:

没有答案