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