我正在学习如何将.NET Core应用程序部署到多个平台,但我无法为Mac OS生成.dmg
可执行文件。
这是我的开发环境:
- 视窗 10 专业版 64 位
- Visual Studio 2017 Professional 與最新更新
- 面向 .NET Core 2.1
为了测试部署过程,我创建了一个简单的"hello world".NET Core 控制台应用。我按照 MSDN 官方网站上的步骤将应用程序作为独立部署包部署到 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不是可执行文件,它是一个磁盘映像(正如戈登所写,类似于.iso)。它可以用来分发软件,我不希望你的工具输出.dmg(苹果自己的开发工具也没有)。
在这种情况下,"自包含部署"包意味着 .NET 运行时在可执行文件中静态链接,因此最终用户不需要安装 .NET 运行时(以增加二进制文件的大小为代价)。请参阅自包含。NET 核心应用程序。
您的构建应该生成一个 MACH 二进制文件(可能与您的项目同名,没有任何扩展名)。您可以按照自己喜欢的方式分发此二进制文件,包括使用.dmg。您可以使用 hdiutil 来创建和操作 Apple 磁盘映像。