Какая наилучшая настройка для разработки Mono в Windows?

Я начал пробовать играть с Mono, в основном ради развлечения. Сначала я попытался использовать плагин Visual Studio, который преобразует csproj в make-файл, но, похоже, для Visual Studio 2005 не было версии. Я также читал об IDE MonoDevelop, что звучало неплохо. К сожалению, для него нет готового пакета Windows. Я попытался выполнить некоторые инструкции, чтобы собрать его, объединив зависимости от других частично связанных установок. Это не сработало, но это, вероятно, потому, что я ориентирован на Windows и с трудом могу написать «makefile».

Итак, мой вопрос таков: какой способ с наименьшим энергопотреблением приступить к работе, чтобы попробовать разработку на основе Mono в Windows?

Ответов (10)

Решение

Я бы рекомендовал получить VMWare Player и использовать бесплатный образ платформы разработки Mono, представленный на веб-сайте.

Скачать Mono

Время на установку для этого будет минимальным, и это также позволит вам заставить ваш код работать в .NET, а затем сосредоточиться на проблемах переноса без огромных хлопот с переключением машин и т.п. инструменты VMWare Player позволят вам просто перетащить файлы, чтобы скопировать их.

Я хочу взять пару своих .NET-приложений и сделать их Mono-совместимыми, и это тот путь, по которому я собираюсь в ближайшее время пойти.

Мне понравилась идея использовать MonoDevelop в основном для того, чтобы убедиться, что мой материал будет работать против сред выполнения Mono. Я предполагаю, что также можно было бы сходить с ума с msbuild и написать несколько пользовательских целей, которые пытались построить против Mono, но это в основном имитирует функциональность теперь несуществующего плагина, который, как я полагаю, был нетривиальным для создания. У меня есть небольшой опыт работы с cygwin, и я с удовольствием набираю "configure" и "make" в течение всего дня, но когда в этом процессе возникает проблема, я практически облажался. Я, вероятно, попробую поиграть со всем этим снова, но если мне потребуется больше пары часов, чтобы придумать способ комфортной сборки против сред выполнения Mono, я, вероятно, просто откажусь.

Я попробую идею Eclipse. Я использую это для Java, поэтому, возможно, мне удастся заставить работать C#. Мы увидим...

Год спустя ответ на этот вопрос сильно изменился. Теперь вы можете использовать MonoDevelop в Windows или, если вам удобнее работать с Visual Studio, вы можете использовать инструменты Visual Studio, чтобы написать все, а затем выполнить отладку на виртуальной машине, чтобы убедиться, что она работает в Linux.

Моим первым инстинктом было бы довольно бесполезное «Установить Linux». Вы несколько плывете против течения, чтобы попытаться развиваться в моно под окнами. По моему опыту, установка GTK и все остальное доставляет немало хлопот.

Если вы хотите использовать Linux, вы можете попробовать Ubuntu.

Иначе:

Здесь есть некоторая информация: http://www.mono-project.com/Mono:Windows, и кажется, что набор инструментов cygwin может быть вашим лучшим выбором. К сожалению, я не думаю, что вам удастся избежать make-файлов. Я нашел немного более подробное руководство от О'Рейли .

@скромность:

Mono предоставляет необходимое программное обеспечение для разработки и запуска клиентских и серверных приложений .NET в Linux, Solaris, Mac OS X, Windows и Unix. Спонсируемый Novell ( http://www.novell.com ) проект с открытым исходным кодом Mono имеет активное и энтузиазм сообщество участников и позиционируется как ведущий выбор для разработки приложений Linux.
- С сайта Mono.

@Chris Я обнаружил, что Visual Studio - лучшая IDE для разработки против .NET - я думаю, что лучший способ настроить Mono - это просто разработать и построить в Visual Studio под Windows, а затем просто запустить эти двоичные файлы непосредственно в Linux (или что-то еще другую платформу Mono, которую вы используете). Существуют бесплатные версии Visual Studio, если вас беспокоит лицензирование. Если вы разрабатываете под Linux, лучшим программным обеспечением, вероятно, будет Eclipse с подключаемым модулем Mono (см. Руководство по Mono - Eclipse для инструкций по установке), но имейте в виду, что в нем нет того количества функций или языковой интеграции, которое есть в Visual Studio.

@modesty Mono - это сторонняя реализация платформы .NET с открытым исходным кодом, которая позволяет запускать приложения .NET на платформах, отличных от Windows.

Одна из лучших вещей, которые вы можете сделать при разработке с помощью Visual Studio for Mono, - это получить MoMA http://www.mono-project.com/MoMA . Это позволит проверить любое количество сборок, которые вы создаете, и сгенерировать отчет, показывающий потенциальные проблемы Mono (например, методы, не реализованные в библиотеке mono). Его можно запустить из графического интерфейса или командной строки для использования в автоматизированных сборках.

Плагин Eclipse для Mono мертв. В Linux используйте MonoDevelop или X-Develop, если вам нравится хорошая коммерческая поддержка (хотя MonoDevelop быстро закрывает их с точки зрения функциональности). В Windows SharpDevelop имеет настраиваемые целевые объекты MSBuild для компиляции кода в соответствии с Mono.

Поскольку Mono и MonoDevelop меняются быстро, обязательно используйте последние выпущенные версии, даже если они еще не отмечены как стабильные (например, версии, поставляемые со стандартным Ubuntu, ужасно устарели).

Образ VMWare - отличный способ начать тестирование кода, разработанного Windows, в Linux. Не трогайте cygwin, если вы уже не очень с ним знакомы.

У Мигеля был пост об отладке Mono, работающего в Linux, с удаленной отладкой в ​​Visual Studio. Это может быть то, что вы хотите изучить ... Использование Visual Studio для отладки Mono . Существует также новый проект под названием CloverLeaf , цель которого - включить отладку Mono в Windows в Visual Studio.

Просто нет причин создавать ваше приложение с использованием Mono; весь смысл .Net CLR заключается в том, что скомпилированный вывод является кроссплатформенным.

Таким образом, вы можете просто создать его, используя свою любимую IDE (и если вам нравятся IDE, лучше всего использовать Microsoft), а затем протестировать на Mono. Даже если вы заставите Mono работать в Windows, это не будет хорошей проверкой переносимости вашего приложения: что, если ваше приложение делает глупые вещи, например, предполагает, что в именах файлов есть обратная косая черта, или что есть что-то особенное в папке под названием Program Files? Лучший способ провести тестирование переносимости - это протестировать ваше приложение на целевой платформе.

И это довольно легко сделать с помощью проигрывателя Linux VMware, такого как http://www.go-mono.com/mono-downloads/download.html .

Лично я просто компилирую в Visual Studio 2008, как если бы это было для .Net 2.0, а затем запускаю в Mono (VS2008 в Windows в VirtualBox, Mono в OSX). В любом случае все проблемы возникают во время выполнения, поэтому система работает отлично.

Я только что нашел эту совершенно новую ссылку , которая удивительна и показывает вам, как настроить Visual Studio 2008 для Mono.

В то же время настройка Mono на OpenSuse или Ubuntu внутри VirtualBox (продукт Sun) проста, безболезненна и не заставляет вас отказываться от той платформы, на которой вы обычно живете.

Это не имеет отношения к вашему вопросу, но я мог бы отметить, что я только что вошел в Mono, и я поражен тем, как много .Net реализовано, включая большую часть материала Winforms.