.NET Core-跨平台部署和使用

时间:2018-10-29 09:46:47

标签: .net-core nuget command-line-interface continuous-deployment nuget-package-restore

对于.NET Core应用程序的跨平台部署和使用,我感到很困惑(我只表示.NET Core 2.x +):我已经在带有.NET的.NET Core中创建了一个小型应用程序没有操作系统依赖性的标准组件(例如CommandLineParser,OpenXml)(由NuGet程序包添加)。

由于类似于.NET的.NET Core可以编译为MSIL(Microsoft中间语言),并且为“每个”操作系统(Mac,Linux,Windows)提供了.NET Core的运行时环境,因此编译的最终结果应运行在每个操作系统上。我的经验:我在Mac OS上编译了该应用程序,然后将其传输到Windows,并通过Windows特定NuGet程序包位置的探测路径扩展了{application} .runtimeconfig.dev.json并成功执行了CLI应用程序。

预先,我已阅读以下有关部署.NET Core应用程序的MSDN文章:

在仅使用Mac编译的Windows上成功执行控制台应用程序后,我就感到非常困惑:为什么要为每个平台进行显式编译?如果我的项目包含与OS相关的组件,那么dotnet的发布方式或IDE流程现在将打包在一起?

第二个问题:IDE将创建对可能的Nuget目录位置的引用,该目录位置在路径中包含用户主目录-如果要分发应用程序,则不切实际。 是否有最佳做法和设置,可以帮助持续集成而不依赖操作系统?

如果我以FDD (与框架相关的部署)方式部署应用程序,是否有命令通过{application} 恢复所有丢失的.NuGet包。 deps.json而不移植项目文件? -或.NET Core是专为SCD(独立部署)设计的?

感谢任何链接,博客文章或类似内容,以澄清相互兼容的主题...

0 个答案:

没有答案