目前我有一个 project.json 文件,其中列出了:
"frameworks": {
"net40": {
},
"net45": {
},
"dnx451": {
},
"dnxcore5": {
},
"netcore5": {
}
}
然而,这是有效的吗?
dnx451、dnxcore5 和 netcore5 之间有什么区别?
最佳答案
这是有效的吗?
所有这些框架在理论上都是有效的。然而,并不是所有的都有效。
这些也称为“名字对象”,它们将针对 NuGet 包进行验证以检索正确的程序集。如果 NuGet 包找不到匹配的名字对象,它就不会创建正确的引用。
此外,子依赖项也必须支持名字对象,否则它将无法加载引用。dnx451
、 dnxcore5
、 netcore5
有什么区别?dnx451
引用了完整的桌面框架,其中包括 WinForms、System.Web、WPF 和其他所有内容。dnxcore5
是新的 .NET 框架,它是跨平台的,兼容 Linux/OSX,当然还有 Windows。netcore5
与 dnxcore5
相同,但仅来自更早的测试版。
额外推荐阅读
如果您想了解更多关于 Core Framework (CoreFX) 的信息,我建议您阅读有关 .NET Standard Platform 的内容,它可以很好地指明在何处以及由什么支持的内容。