C # -Mono (независимость от платформы)

Я новичок в ОС Ubuntu, и мое решение разработано в Visual Studio 2008. Я хочу, чтобы мое приложение работало как в Windows, так и в Linux (ubuntu). У меня в голове несколько вопросов.

  1. Поддерживает ли моно визуальный отладчик.
  2. Если я начну разработку с использованием моно. Можно ли запустить то же самое в .net framework (Windows)? или мне нужно написать сценарий NSI для загрузки библиотек во время установки из Интернета и установки.
  3. Как лучше всего добиться независимости от платформы.

Заранее спасибо.


person Anees    schedule 18.03.2010    source источник
comment
Какие библиотеки вы используете?   -  person Gabe    schedule 18.03.2010


Ответы (2)


Да, в Mono есть отладчик - см. MonoDevelop.

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

Во многом достижение независимости от платформы зависит от используемых вами библиотек: убедитесь, что все, что вы хотите вызвать, либо уже доступно на обеих платформах, либо может поставляться вместе с вашим приложением. Помимо этого, есть очевидные вещи, такие как отказ от использования определенного разделителя пути / каталога, потенциально не предполагающий определенного порядка байтов (хотя, по моему опыту, это редко является проблемой в C #), а также регулярное тестирование, как ручное, так и автоматическое, насколько это возможно.

person Jon Skeet    schedule 18.03.2010

Для Visual Studio существует надстройка Mono, которая предупреждает вас при создании приложения, если вы используете что-то, что Mono еще не поддерживает.

«Не помню имени, - подумал.

person pero    schedule 18.03.2010
comment
Он называется MoMA (Mono Migration Analyzer), см. mono-project.com/MoMA. - person Matt Warren; 18.03.2010