Возможно включение Mono Runtimes в пакет OSX.app?
Я ищу работу над приложением, которое нужно запускать как на Windows, так и на OSX. Поскольку я уже очень хорошо знаком с С#/. NET, я думал, что посмотрю на использование Mono. Но я также хочу, чтобы он был очень прост в установке и не хотел, чтобы пользователям приходилось устанавливать Mono-пакет отдельно. Возможно ли создать пакет OS X.app, который просто включает ВСЕ? То есть, мое приложение, ресурсы и полное время выполнения Mono?
Ответы
Ответ 1
Да, вы можете это сделать. Выберите приложение, любое приложение и Показать содержимое пакета. Исследуйте немного, и вы увидите, что внутри него находится каталог Contents/MacOS. Он будет содержать файл с установленным битом выполнения. Это может быть машинный код или старый script с линией #!
в начале. Все, что вам нужно сделать, это дублировать структуру каталогов с помощью скелетного приложения, перетащить вашу среду исполнения Mono в каталог ресурсов где-нибудь и написать bash script, который инициализирует все. Там могут быть автоматические утилиты для этого, плавающие где-то, но это довольно легко сделать это вручную.
Я бы рекомендовал использовать ваш любимый инструмент сборки для автоматизации этого процесса.
Ответ 2
Возможно, с небольшим количеством взлома и некоторой забавной компиляцией для компиляции .NET-приложения, статически предназначенного для платформы Mac OS, не нужно устанавливать моно с ним. Посмотрите на этом сайте, рассказывая о том, как Mono используется статически в некоторых приложениях для iPhone.
http://arstechnica.com/open-source/news/2009/01/open-source-mono-framework-brings-c-to-iphone-and-wii.ars
Еще один отличный ресурс - канал #mono на irc.gnome.org или irc.gimp.net(http://mono-project.com/IRC)