我是.net核心的新手,对可移植库有疑问。
我创建了.net核心Web应用程序,project.json的框架部分如下所示:
"frameworks": {
"netcoreapp1.0": {
"imports": [
"portable-net4+netcore45"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-*",
"type": "platform"
}
}
}
}
现在在上面的例子中,“portable-net4 + netcore45”是什么意思?
这是否意味着,我可以在只安装了.net framework 4的机器上运行我的.net核心应用程序?
没有.net核心安装会有效吗?
答案 0 :(得分:3)
不,以上仍然需要安装.NET Core,因为您使用的是"type": "platform"
,这需要安装一个平台,而软件包本身仅作为参考。
如果要运行未安装的.NET Core framework / SDK,则必须将其更改为
"dependencies": {
"Microsoft.NETCore.App": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {}
},
"runtimes": {
"win10-x64": {},
"osx.10.11-x64": {}
}
请注意,如果您想要运行无需安装.NET Core运行时,并且需要将任何目标操作系统添加到此列表,则会添加“运行时”部分,这是必需,像Linux等。
"imports": ["portable-net4+netcore45"]
部分只告诉NuGet它应该安装与两个目标匹配的可移植库,即使它们还不支持netcoreapp1.0
/ netstandard1.6
。
大多数以Win8 / 8.1 / UWP为目标的图书馆都可以使用,但不能保证。导入只是告诉nuget“反正安装”。
查看MSDN文档,了解如何定位不同的.NET Core App Types。