我正在开发一个库,我希望能够为传统的 .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 框架的兼容性,这将是未来几年最重要的框架。