Ограничения в Mono для разработчика .Net Framework - PullRequest
9 голосов
/ 29 апреля 2009

Я хочу переключиться на Mono с .Net (плюс Visual Studio на любую IDE в Mono). Это будет действительно сложно?

С какими проблемами я столкнусь?

Спасибо

Ответы [ 6 ]

3 голосов
/ 29 апреля 2009

Как уже отмечали другие, я предполагаю, что вы имели в виду переход от платформы .Net к Mono. С учетом сказанного количество трудностей, с которыми вы столкнетесь, во многом зависит от того, какой код вы пытаетесь переместить и какие части фреймворка вы используете. Например, если ваш код изобилует вызовами P / Invoke, у вас будет трудное время. Если это простой .Net код, у вас, вероятно, будет относительно плавное плавание.

Вам захочется провести некоторое время с Mono Migration Analyzer (MoMA). Вы столкнетесь с вещами, которые не уловил инструмент, но он поймет много основ и даст вам свободу заниматься большими вещами.

1 голос
/ 30 апреля 2009

Просто чтобы уточнить, вы можете использовать visual-studio для компиляции в Windows и запуска приложений в Linux. Существует много болтовни о том, что это или это не реализовано в моно, но, честно говоря, я не нашел ничего упущенного.

Теперь, если вы хотите отлаживать в Linux (и, в конце концов, вам это нужно), то MonoDevelop - хороший вариант, но у меня возникли проблемы с запуском в RedHat, так что это действительно зависит от вашей целевой системы Linux. .

1 голос
/ 30 апреля 2009

Я полагаю, что Mono не совсем догнал все библиотеки .Net 3.5 и, следовательно, не имеет ни их, ни частичной реализации. Mono всегда будет немного отставать от Microsoft, но это фантастическое достижение и блестящая работа.

взгляните на Mono Roadmap

0 голосов
/ 13 мая 2009

Visual Studio - намного лучшая IDE, чем MonoDevelop, где она автоматизирует многие вещи, которые делают MD похожим на редактор (некоторые такие) Вы также можете использовать VS и нацелить Mono, что является отличным вариантом. С виртуальными операционными системами это довольно хорошо поддерживаемый вариант на любой хост-системе, поддерживаемой Mono.

Моно близко, но всегда будет немного позади .NET Framework. Mono также имеет свои собственные API, которые лучше, чем что-либо в ядре .NET. Но в основном .NET == Mono на двоичном уровне не содержит некоторые отсутствующие или дополнительные API.

0 голосов
/ 30 апреля 2009

Вероятно, это так же сложно, как перейти с Windows на Linux. Это другая среда, и переключение всегда будет включать период, когда некоторые вещи будут казаться немного неуместными. То же самое относится и к переключателю .Net -> Mono. Первым и наиболее очевидным отличием будет IDE. Как бы ни был MonoDevelop (или получил недавно), это не VS. В нем не так много функций (главное, нет Windows Forms или ASP Designer), и общее качество, вероятно, не такое высокое, но этого, безусловно, достаточно для начала работы. Кроме того, мы не должны забывать о вещах, которые есть у Mono, и .Net не нравится интерактивный компилятор C # или свобода участвовать в создании платформы. Все рассмотренные варианты перехода на Mono потребуют определенных усилий, но это того стоит.

0 голосов
/ 29 апреля 2009

Я думаю, что вы путаете здесь.

Visual Studio - это IDE, а Mono - реализация .net CLR.

Полагаю, вы действительно хотите переключиться на SharpDevelop или другую IDE.

...