Использование Visual Studio для разработки моноприложений

Как использовать Visual Studio для разработки приложений на Mono? Это возможно?


person Josh    schedule 29.04.2009    source источник
comment
Здравствуйте, может кто-нибудь объяснить мне, что плохого в том, что этот вопрос имеет пониженный рейтинг? Спасибо   -  person Josh    schedule 29.04.2009
comment
Вы всегда можете скопировать свои сборки в Linux и протестировать их. Что ж, использовать Moma в Windows для проверки предстоящих сборок еще проще. Delphi Prism даже предоставляет такую ​​поддержку внутри Visual Studio для языка Pascal.   -  person Lex Li    schedule 31.05.2009


Ответы (6)


Вы просто создаете приложения в Visual Studio и запускаете их в Mono, а не в .NET. Бинарные файлы должны быть совместимы... но вам нужно убедиться, что вы не используете какие-либо библиотеки, которых нет в Mono - см. Рекомендации по совместимости моноприложений.

(Согласно этой странице, вам нужно отключить добавочные сборки в Visual Studio — момент, о котором я раньше не знал :)

person Jon Skeet    schedule 29.04.2009
comment
Между инфраструктурой Microsoft и Mono существует больше, чем просто несколько несоответствий API — гораздо лучше использовать профиль, созданный для Mono в Visual Studio 2010. Ошибки компилятора, а не ошибки времени выполнения. - person Greg Hurlman; 24.10.2010

См. эту статью о том, как запускать приложения, ориентируясь на моноплатформу. от ВС.

person Sam Cogan    schedule 29.04.2009

Мигель разместил эту запись некоторое время назад, так что она устарела. Вы также можете попробовать это и это (приветствую веб-архив!)

person Anton Gogolev    schedule 29.04.2009
comment
Я предлагаю вам попробовать запустить его. Пожалуйста, дайте нам знать, как хорошо это сработало... - person Friedrich; 05.05.2009
comment
@PDFsharpTeam Обновлены ссылки. Они оказались с отсутствующими изображениями, ну да ладно. - person Anton Gogolev; 24.08.2015

Начиная с версии 2.0 MonoDevelop поддерживает формат файла проекта/решения VisualStudio. Это означает, что вы можете использовать одну и ту же кодовую базу в Windows с VS и .Net и в Linux с MonoDevelop и Mono. Это, на мой взгляд, лучший способ сделать это. Нет никаких серьезных причин для запуска приложения в Mono в Windows, кроме как для целей тестирования, и для этого я бы предпочел настроить виртуальную машину для тестирования программного обеспечения в родной среде.

person Piotr Zurek    schedule 30.04.2009

Я разместил статью о том, как интегрировать Mono 2.8 (сборка для .Net 4.0) в Visual Studio 2010 здесь — там есть ссылка на другой профиль, созданный для Mono 2.4 (.Net 3.5), если это то, к чему вы стремитесь.

Вы можете интегрировать новый профиль Mono 2.8, выполнив 3 простых шага:

  1. Загрузите сам профиль здесь.
  2. Разархивируйте содержимое архива профиля в один из следующих каталогов:

    • 32-bit systems: C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
    • 64-bit systems: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
  3. Папка «Mono» в ZIP-файле должна находиться непосредственно в каталоге «Profile».

  4. Перезапустите Visual Studio, если она была запущена, откройте свойства проекта, который вы хотите использовать с Mono, и выберите профиль Mono для версии 2.8:

Примечание. Вы не сможете выбрать монопрофиль прямо из диалогового окна "Новый проект"; по какой-то причине этот список профилей не совпадает. Сначала создайте проект как проект .Net Framework 4.0, а после создания установите для свойств проекта значение Mono.

Если вы обновили установку MonoDevelop до последней версии (по крайней мере, на сегодняшний день), это решение Visual Studio и файл проекта откроются без проблем — никаких изменений не требуется.

Если вы столкнулись с проблемой, что вам нужно .NETFramework,Version=v4.0,Profile=Mono для запуска приложения, хитрость заключалась в создании ключа реестра.

Для Windows 7 x64 это было: HKEY\_LOCAL\_MACHINESOFTWAREWow6432NodeMicrosoft .NETFrameworkv4.0.30319SKUs .NETFramework,Version=v4.0,Profile=Mono

Я полагаю, для x86 это HKEY\_LOCAL\_MACHINESOFTWAREMicrosoft.NETFramework v4.0.30319SKUs.NETFramework,Version=v4.0,Profile=Mono

(Где v4.0.30319 будет версией текущей установленной платформы 4.0.)

person Greg Hurlman    schedule 23.10.2010

Да, вы можете разрабатывать в Visual Studio и ориентироваться на Mono (Mono для x86).

Вот ответ, который я сделал для всех доступных возможных вариантов компиляции против Mono в Windows. Однако он предназначен для Mono x86. Подводя итог, перечислим возможный выбор для разработки VS:

  • Дополнение MonoHelper
  • Монопрофиль

Для Android/Ios вы также можете выполнять кросс-компиляцию и отладку внутри Visual Studio с помощью надстройка Xamarin. Хотя это не бесплатно для крупных коммерческих приложений, существует бесплатная версия для создания небольших приложений.

Примечание: Для тех, кто задается вопросом, почему я хотел бы разрабатывать в Visual Studio для Windows, а не в MonoDevelop для Unix, скажем, что опыт разработки в MonoDevelop не сравнится с VS (особенно когда дело доходит до отладчика/рефакторинга, последнее больше связано с Resharper, чем с самим VS).

person Fab    schedule 12.02.2016