无法为具有.NET Core 2.1的Mac OS创建dmg可执行文件

时间:2019-04-06 12:17:57

标签: macos deployment dmg .net-core-2.1

我正在学习如何将.NET Core应用程序部署到多个平台,并且无法为Mac OS生成.dmg可执行文件。

这是我的开发环境:

  • Windows 10 Professional 64位
  • 具有最新更新的Visual Studio 2017 Professional
  • 定位.NET Core 2.1

为了测试部署过程,我创建了一个简单的“ hello world” .NET Core Console App。我按照steps on the official MSDN website的要求以自包含部署包的形式将应用程序部署到Visual Studio的Mac OS中,但是在发布的目标目录中没有看到.dmg文件。我只看到.dll文件和其他与项目相关的文件。我还尝试通过发出以下命令,通过.NET Core CLI作为“自包含部署”程序包发布到Mac OS,但这仍然无法生成.dmg可执行文件:

dotnet publish -c Release --self-contained -r osx-x64

我也尝试过:

dotnet publish -c Release --self-contained -r osx.10.13-x64

如何创建.dmg可执行文件?

谢谢。

1 个答案:

答案 0 :(得分:1)

dmg不是可执行文件,而是磁盘映像(如Gordon所写,类似.iso)。它可以用于分发软件,而且我不希望您的工具输出.dmg(Apple自己的开发工具也不会)。

在这种情况下,“自包含部署”程序包意味着.NET运行时静态链接到可执行文件中,因此最终用户不需要安装.NET运行时(以增加二进制文件大小为代价)。参见self-contained. NET core applications

您的构建应生成一个MACH二进制文件(可能与您的项目同名,没有任何扩展名)。您可以根据需要分发此二进制文件,包括使用.dmg。您可以使用hdiutil创建和处理Apple磁盘映像。

相关问题