.net 核心中的便携式库
Portable library in .net core
我是 .net core 的新手,对可移植库有疑问。
我已经创建了 .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 核心应用程序在只安装了 .net 框架 4 的机器上?
如果没有安装 .net core,它能工作吗?
不行,以上还是需要安装.NET Core,因为你使用的是"type": "platform"
,需要安装平台,包本身仅供参考。
如果你想运行 w/o .NET Core framework/SDK被安装,你必须把它改成
"dependencies": {
"Microsoft.NETCore.App": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {}
},
"runtimes": {
"win10-x64": {},
"osx.10.11-x64": {}
}
请注意添加了 "runtimes" 部分,如果您想 运行 w/o 安装 .NET Core,则 需要 运行时间,您需要将任何目标 OS 添加到此列表中,例如 Linux 等
"imports": ["portable-net4+netcore45"]
部分仅告诉 NuGet 它应该安装与两个目标匹配的可移植库,即使它们尚不支持 netcoreapp1.0
/netstandard1.6
。
大多数以 Win8/8.1/UWP 为目标的库应该可以工作,但不能保证。导入只是告诉 nuget "install it anyways"。
查看 MSDN 文档,了解如何针对不同的 .NET Core App Types。
我是 .net core 的新手,对可移植库有疑问。
我已经创建了 .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 核心应用程序在只安装了 .net 框架 4 的机器上?
如果没有安装 .net core,它能工作吗?
不行,以上还是需要安装.NET Core,因为你使用的是"type": "platform"
,需要安装平台,包本身仅供参考。
如果你想运行 w/o .NET Core framework/SDK被安装,你必须把它改成
"dependencies": {
"Microsoft.NETCore.App": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {}
},
"runtimes": {
"win10-x64": {},
"osx.10.11-x64": {}
}
请注意添加了 "runtimes" 部分,如果您想 运行 w/o 安装 .NET Core,则 需要 运行时间,您需要将任何目标 OS 添加到此列表中,例如 Linux 等
"imports": ["portable-net4+netcore45"]
部分仅告诉 NuGet 它应该安装与两个目标匹配的可移植库,即使它们尚不支持 netcoreapp1.0
/netstandard1.6
。
大多数以 Win8/8.1/UWP 为目标的库应该可以工作,但不能保证。导入只是告诉 nuget "install it anyways"。
查看 MSDN 文档,了解如何针对不同的 .NET Core App Types。