我是.net核心的新手,对可移植库有疑问。
我已经创建了.net核心web应用程序,project.json的框架部分如下所示:
"frameworks": {
"netcoreapp1.0": {
"imports": [
"portable-net4+netcore45"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-*",
"type": "platform"
}
}
}
}在上述情况下,“便携网4+netcore45 45”的含义是什么?
这是否意味着,我可以在只安装了.net框架4的机器上运行.net核心应用程序?
如果没有.net核心安装,它能工作吗?
发布于 2016-08-08 13:26:18
不,上面仍然需要安装.NET核心,因为您使用的是"type": "platform",它需要安装一个平台,而包本身只是作为参考。
如果要运行正在安装的w/o .NET核心框架/SDK,则必须将其更改为
"dependencies": {
"Microsoft.NETCore.App": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {}
},
"runtimes": {
"win10-x64": {},
"osx.10.11-x64": {}
}请注意,添加了“运行时”部分,这是必需的,如果您想运行w/o安装.NET核心运行时,并且需要将任何目标操作系统添加到这个列表中,比如Linux等等。
"imports": ["portable-net4+netcore45"]部分只告诉NuGet,它应该安装与这两个目标相匹配的可移植库,即使它们还不支持netcoreapp1.0/netstandard1.6。
大多数针对Win8 8/8.1/UWP的库都应该工作,但是没有保证。导入只是告诉nuget“无论如何安装它”。
查看如何针对不同.NET核心应用程序类型的MSDN。
https://stackoverflow.com/questions/38826370
复制相似问题