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

StackOverflow https://stackoverflow.com/questions/802605

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

Видишь это статья о том, как запускать ваши приложения, ориентируясь на платформу mono от VS.

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

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

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

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

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

    • 32-разрядные системы: 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.)

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

Вот вам и ответ Я использовал все доступные возможные альтернативы для компиляции против Mono в Windows.Тем не менее, он ориентирован на Моно x86.В качестве резюме давайте перечислим возможные варианты разработки VS:

  • Добавление монохелпера
  • Монопрофиль

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top