我是 .net core 的新手,对可移植库有疑问。
我已经创建了 .net core 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 core 应用程序?
如果不安装.net core,它可以工作吗?
最佳答案
不,上面仍然需要安装 .NET Core,因为您使用的是 "type": "platform"
,这需要安装平台,而包本身仅充当引用。
如果您想在不安装.NET Core框架/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 .
关于asp.net-core - .net core 中的可移植库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38826370/