如果您阅读以下两个链接:
首先,https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
和
第二,https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
您将看到可以在project.json的依赖项根元素中使用以下代码段构建完全可移植的版本。无需指定运行时,因为这是CORE级别的运行时,应与平台无关,或称为“框架相关”
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
}
或者您可以通过删除type:platform元素为多个目标平台(“自包含的应用程序”)构建:
将此添加到project.json中的依赖项根元素
"Microsoft.NETCore.App": {
"version": "1.0.1"
}
并将其添加为新的根级别元素
"runtimes": {
"win10-x64": {}, /* one or more RIDs */
"osx.10.10-x64": {}
},
多目标服务器要求您提供被称为“ .NET Core Runtime IDentifiers(RID)”的平台名称。可以在上面的第二个链接中找到这些名称的列表。它包括Windows,Linux和OS X的多种版本。
要全面了解各种部署选择,还可以阅读此页面:
https://docs.microsoft.com/zh-cn/dotnet/articles/core/deploying/index
从上面的链接:
您可以为.NET Core应用程序创建两种类型的部署:
框架相关的部署
顾名思义,依赖框架的部署(FDD)依赖于目标系统上存在的.NET Core共享系统级版本。由于.NET Core已经存在,因此您的应用程序在.NET Core安装之间也可以移植。您的应用程序仅包含自己的代码以及.NET Core库之外的任何第三方依赖项。FDD包含.dll文件,可以通过使用dotnet实用程序从命令行启动这些文件。例如,dotnet app.dll运行一个名为app的应用程序。
独立部署
与FDD不同,自包含部署(SCD)不依赖于目标系统上存在的任何共享组件。所有组件,包括.NET Core库和.NET Core运行时,都包含在应用程序中,并且与其他.NET Core应用程序隔离。SCD包含一个可执行文件(例如,在Windows平台上名为app的应用程序的app.exe)和一个.dll文件(例如app.dll),该可执行文件是特定于平台的.NET Core主机的重命名版本。实际应用。