c# - 使用 Cake-build 创建 dmg

标签 c# macos visual-studio dmg cakebuild

我正在 Visual Studio 中开发跨平台应用程序。我需要获取 MS-Windows 的 .exe 安装程序,并在 MacOSX 的 .dmg 文件中提供应用程序或安装程序。

我被要求使用Cake-build创建 Windows 安装程序和 .dmg。这对于生成 .exe 安装程序来说效果很好。

当我在 OSX 上运行相同的脚本时,我在 Mac 中得到 .app 和 .pkg。但我的要求是在 DMG 中获取安装程序/和/或应用程序。

是否可以从蛋糕创建 dmg?是的,请引导我走向正确的道路吗?

最佳答案

开箱即用的 Visual Studio 和下游 MSBuild 不提供任何适用于 MacOS 的打包机制。 DMG 是一种通常是软件安装程序的文件类型。 Cake 通常抽象 .NET 工具,但可以真正扩展到任何命令行工具。也就是说,今天的 Cake 中没有固有的方法可以做到这一点。

我发现(尚未使用)一些命令行工具来处理获取构建输出和创建 DMG 的场景。

Xamarin Mac DMG是我发现的一个链接,概述了该过程。

也许值得创建一个 Cake.Dmg 插件,通过包装 CLI 工具以在 Cake DSL 中使用来为我们完成此任务。

也就是说,在此期间,您可以使用 Cake DSL 中的 StartProcess 来通过管道连接到这些 CLI 工具之一。

注意:在执行脚本之前,您有责任确保 CLI 工具位于 Cake 可以读取的位置。

关于c# - 使用 Cake-build 创建 dmg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53960901/

相关文章:

c# - 如何从 C# 中唯一标识 USB key ?

C# XML,查找节点及其所有父节点

macos - NSOpenPanel 未打开且无法在 swift 4 OS x 应用程序中工作

c++ - fatal error C1083 : Cannot open include file: 'xmemory' : No such file or directory

c# - 返回为 null 的二维数组

c# - Xamarin Forms - 让 webview 返回

c++ - Mac OS X 上的 iconv 库 : strange behavior

python - 如何设置守护进程在其死亡时杀死其进程组中的其他进程

c# - 两个相同的对象名称;如何让 VS 忽略其中之一?

.net - 如何在Visual Studio网站项目类型中添加引用?