我正在学习如何将.NET Core应用程序部署到多个平台,我无法为Mac OS生成.dmg
可执行文件。
这是我的开发环境:
为了测试部署过程,我创建了一个简单的“hello world”.NET Core Console应用程序。我按照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
可执行文件?
谢谢。
.dmg不是可执行文件,它是一个磁盘映像(正如Gordon写的那样,类似于.iso)。它可以用于分发软件,我不希望你的工具输出.dmg(也不是Apple自己的开发工具)。
在这种情况下,“自包含部署”包意味着.NET运行时在可执行文件中静态链接,因此最终用户不需要安装.NET运行时(以增加二进制文件的大小为代价)。见self-contained. NET core applications。
您的构建应该生成一个MACH二进制文件(可能与您的项目同名,没有任何扩展名)。您可以按照自己喜欢的方式分发此二进制文件,包括使用.dmg。您可以使用hdiutil来创建和操作Apple磁盘映像。