В чем смысл Mono в Windows
Это может быть глупый вопрос . но я только что изучал проект Mono, и у них есть раздел об установке Моно в Windows. Но, поскольку в Windows, очевидно, уже есть среда выполнения .NET, может ли кто-нибудь сказать мне, в чем именно смысл использования Mono для Windows? Это помогает с кроссплатформенной разработкой или чем-то в этом роде?
Adam Haile 15 Апр 2009 в 17:18
12 ответов
Лучший ответ
Поскольку Mono не реализует .Net на 100% так же, как MS .Net Framework, хорошо, что вы можете протестировать на Mono без необходимости запускать в Linux. Также Mono имеет привязки для создания форм с помощью GTK, которые MS не поддерживает.
Kibbee 15 Апр 2009 в 17:21
У Mono есть несколько функций, которых нет в .NET.
Mono очень модульный. Вы можете разбить его на крошечные кусочки и развернуть только те части, которые вам нужны. Не хотите System.Xml? Хорошо, его больше нет.
Mono можно встраивать. Вы можете разместить его в своем приложении C / C ++, чтобы пользователи могли создавать для него сценарии из безопасной управляемой изолированной среды. Самый известный пример этого — mod_mono, который размещает Mono внутри веб-сервера Apache, и как, например, ASP.NET реализован в Mono. Эта функция отлично сочетается с упомянутой выше модуляризацией.
Что можно удалить на диске С? Что нельзя удалять? Руководство для пользователей ПК
Об этом уже упоминалось: статическое связывание. Также отлично сочетается с модуляризацией.
Компилятор как услуга — еще один. Андерс Хейлсберг говорил об этом в течение долгого времени, и возможно , просто может быть, он будет готов для C # 5.0. Что ж, у Mono он уже есть, и на самом деле он имел это в течение многих лет.
Мигель де Икаса, ведущий разработчик Mono, также имеет инициативу, которую он называет «Embrace and Extend.NET», которая расширяет CLI способами, которые (в настоящее время) невозможны с другими реализациями CLI (включая .NET). Пока что Embrace и Extend.NET имеет три функции.
Mono.Simd, который обеспечивает безопасный и контролируемый доступ к инструкциям SIMD базового процессора (например, SSE на Intel или AltiVec на PowerPC). Используется для игр и графики.
Индексы 64-битных массивов, которые разрешены спецификацией ECMA, но Mono — единственная виртуальная машина, которая их фактически предоставляет. Используется в суперкомпьютерах.
И совсем недавно продолжения. Фактически это первый раз, когда Mono выходит за рамки спецификации: длинные индексы массива полностью соответствуют спецификации, а Mono.Simd также работает во всех совместимых с CLI реализациях (хотя и очень МЕДЛЕННО) , но Mono.Tasklet требует специальной поддержки со стороны виртуальной машины, которая не является частью CLI или .NET. Это используется для игровой логики и, например, в Second Life.
Jörg W Mittag 17 Апр 2009 в 03:04
Mono делает кое-что, чего не делает .Net.
Например, mono поддерживает статическое связывание, поэтому вы можете создавать, компилировать и распространять свое приложение, не требуя отдельного установщика времени выполнения. Если вы создали приложение, полагающееся на кроссплатформенность моно, есть некоторые отличия от .Net, и поэтому использование моно в Windows является большей гарантией совместимости.
.Net делает кое-что, чего не делает моно.
В BCL есть несколько мест, которые еще не портированы для моно, например, WPF и Winforms.
Если вам нужно приложение, которое также будет работать на Mac / Linux, вы, вероятно, захотите сначала разработать для моно, даже если вы делаете большую часть работы в Windows.
Примечание. все это предшествует .Net Core / Standard.
Community 20 Июн 2020 в 12:12
Зачем нужна поддержка Windows, если можно запустить настоящую вещь?
Причины разные:
Поддержка Windows помогает нам отличать переносимые части Mono от непереносимых его версий, помогая Mono стать более переносимым в будущем.
Это помогает нам, поскольку мы можем изолировать проблемы в Mono, разделив проблему (это проблема времени выполнения или проблема ОС?).
Около половины участников Mono — разработчики Windows. У них есть много разных причин для участия в этих усилиях, и мы считаем очень важным позволить этим разработчикам запускать среду выполнения в Windows, не заставляя их использовать новую операционную систему.
Mono не сильно модифицирует реестр Windows, не обновляет системные библиотеки DLL, не устанавливает библиотеки DLL по пути Windows / System32.
Это помогает разработчикам на базе Windows протестировать свой код в Mono перед развертыванием в Linux.
Mono и приложения, которые встраивают Mono, могут быть развернуты без установщика (вы можете «xcopy» развернуть свое приложение и необходимые файлы Mono без установки среды выполнения .NET).
Ohad Schneider 17 Апр 2010 в 06:08
Если вы хотите разработать кроссплатформенное приложение на C #, то использование реализации Microsoft — не самое разумное решение, поскольку для других платформ нет полностью совместимой альтернативы.
Таким образом, использование Mono в Windows для разработки приложений гарантирует, что у вас не возникнет проблем с переносом его на другую ОС (при условии, что вы избегаете других ям, таких как P / Invoke).
Richard Ev 15 Апр 2009 в 17:22
Некоторые люди использовали его, потому что им не разрешено устанавливать платформу .Net на их ПК с Windows из-за большого количества реестров и системных файлов, которые он делает. (В строго контролируемой среде.)
Mono, с другой стороны, самодостаточен в Program Files и записывает только ключ реестра с указанием пути (что не обязательно для запуска).
Я думаю, что это немного глупо, но об этом нам говорили несколько пользователей.
jpobst 15 Апр 2009 в 18:57
В основном он используется в качестве помощи при разработке приложений Mono для конкретных библиотек Mono. Также за помощь в продвижении дела, чтобы разработчики могли работать в своей естественной среде при разработке для Mono.
Nick Berardi 15 Апр 2009 в 17:21
Хотя это не вызывает всеобщего интереса, есть несколько случаев, когда в моно есть улучшения по сравнению со стандартной средой выполнения Microsoft. Мигель рассказал о некоторых из них на PDC в этом году:
Смотрите эти сообщения:
- Видео презентации
- Поддержка SIMD и игры
Erv Walter 15 Апр 2009 в 17:24
Кроме того, даже если у вас есть программа, динамически связанная с Mono, вы можете скомпилировать эту скомпилированную среду выполнения .exe и Mono на флеш-накопителе и перейти на другой компьютер без установленного .NET / Mono и запустить эту программу на новом ПК без какой-либо установки среды выполнения. т.е. это приводит к переносным приложениям (особенно полезным в качестве переносных приложений для USB-накопителей). Это невозможно с .NET. У вас должна быть установлена среда выполнения .NET определенным способом установщика, т. Е. Среда выполнения, содержащая копирование и вставку папки, невозможна.
user451234 22 Сен 2010 в 10:23
Я думаю, что основная причина, по которой они это сделали, заключается в том, что они могут запускать приложения .NET на Mono и .NET параллельно для их сравнения. Кроме того, есть несколько приложений, которые зависят от библиотек Mono.
Zifre 17 Апр 2009 в 03:08
Чтобы добавить к многочисленным причинам, упомянутым в других ответах, может потребоваться установка Mono для Windows в Wine, чтобы разрешить запуск приложений .Net внутри Wine.
Источник: question-it.com
Что такое Mono и как это помогает Windows Switchers, новым для Linux?
более популярные операционные системы (определенно не мнение).
Однако один из его недостатков связан с его меньшей популярностью на настольных ПК: доступность программ. К счастью, есть вещи, которые могут помочь этому, Моно будучи одним из них.
Программные рамки: строительные блоки
Программные платформы не самые захватывающие вещи, но они полезны по-своему, работают за кулисами. Они позволяют людям легко разрабатывать приложения для других, не начиная полностью с нуля. Моно является одним из них, как и .NET Framework
Эти платформы могут варьироваться от использования для конкретных настольных сред
к чему-то доступному для нескольких операционных систем. Например, рабочий стол KDE Plasma
имеет несколько программ, которые облегчают написание интегрированных, собственных приложений. Это включает их собственную IDE (интегрированную среду разработки) под названием KDevelop.
Это может иметь много преимуществ для конечных пользователей. Разработчики могут создавать приложения
быстрее, легче и, как таковое, может намного быстрее вносить изменения и улучшения. Когда вы стоите на плечах гигантов, достижение этой дополнительной высоты становится менее болезненным.
Некоторые фреймворки носят кроссплатформенный характер — написанные на них программы могут работать между различными операционными системами.
, Это полезно как для разработчиков, так и для конечных пользователей. С одной стороны, такие программы могут охватить больше людей, а с другой — более высокую надежность благодаря более широкой пользовательской базе.
Что такое моно?
Mono — пример кроссплатформенного фреймворка, доступного в Windows, macOS
, Linux и многое другое. Это было сначала разработано как открытый источник
реализация .NET Framework в Linux. Оттуда он превратился в нечто большее, поддерживающее несколько разных операционных систем.
Mono (как .NET) тесно связан с языком программирования C #, известным своим высоким уровнем переносимости. Например, игровой движок Unity
использует C # как кроссплатформенный способ создания видеоигр. Отчасти это связано с дизайном языка. C # можно превратить в CIL (Общий промежуточный язык), который может быть скомпилирован
в нативный код (быстрее, менее переносимый) или через виртуальную машину
(медленнее, более портативно). Mono предоставляет средства для компиляции и запуска программ на C #, аналогично .NET Framework.
В наши дни оно разработано владельцами программного обеспечения, которое оно пыталось эмулировать: Microsoft. С открытым источником
Mono больше похож на него, чем когда-либо прежде, и способен интегрировать свой код в собственный дизайн. Проект также включает в себя специальную IDE (интегрированная среда разработки)
называется MonoDevelop, немного похоже на Linux-эквивалент Visual Studio.
Моно и кроссплатформенные приложения
Учитывая все это, совершенно очевидно, что кроссплатформенность Mono весьма полезна для людей, переходящих на Linux из Windows.
, Он действует в качестве еще одного связующего звена между двумя операционными системами для устранения одной из самых больших проблем переключения: эксклюзивное программное обеспечение
Есть ряд программ, которые написаны на моно. Эти приложения имеют высокий шанс быть кроссплатформенным
, доступно между несколькими операционными системами. Наряду с этим Mono фактически поддерживает множество двоичных файлов .NET
из коробки (то есть C # EXE-файлы
написано в Visual Studio). Таким образом, вполне возможно, что программы .NET, еще не работающие в Linux, вполне могут появиться в будущем.
Вы даже можете использовать одно из этих приложений, не зная об этом!
KeePass
отличный оффлайн менеджер паролей Это означает, что в отличие, скажем, от LastPass
Ваша информация не связана с сервером для удобства. Но это может быть достойной ценой за более высокий уровень контроля в ваших руках.
Он также написан на Mono, что позволяет ему работать на разных платформах. Хотя он в основном ориентирован на Windows, это также означает, что он поддерживает и macOS, и Linux. Хотя это может показаться не очень родным, но работает просто отлично. Плюс, доступность ваших паролей является достаточным преимуществом.
грибковое поражение кожи
Лучший способ описать Pinta — это кроссплатформенная версия Paint.NET (которая, в свою очередь, является лучшей версией Microsoft Paint).
). Это довольно простое приложение с достаточными возможностями для редактирования и создания изображений. В отличие от KeePass, он выглядит немного лучше между различными операционными системами.
К сожалению, это также демонстрирует несколько ограничений Mono. Paint.NET, приложение, которым оно было вдохновлено, в конце концов, было написано с использованием .NET Framework
и до сих пор остается только Windows. В то время как большинство вещей могут работать между ними, если программа опирается на специфические компоненты Windows платформы, вам нужно искать альтернативы
Wine + Mono = Лучшая совместимость
Mono также может помочь переключателям Windows путем расширения Wine
слой совместимости, позволяющий пользователям запускать приложения Windows. Wine реверсирует много функциональных возможностей Windows, и переводит это поведение в их эквиваленты Linux. Таким образом, он может запускать много программ, не предназначенных для Linux, как если бы они были.
Фактический установочный файл Mono содержит ряд программных библиотек, компонентов, из которых могут строить другие программы. Они предназначены для реализации максимально возможного количества .NET Framework (хотя и кроссплатформенного). Из-за этого многие вещи, написанные для Windows с использованием упомянутого фреймворка, будут работать и под Mono.
Wine может использовать в своих интересах всю работу, которую Mono проделал за эти годы, используя ее для запуска приложений .NET или даже программ с указанными компонентами внутри. Некоторые игры
Например, полагаться на рамки в некоторой степени.
Mono в мире с открытым исходным кодом .NET
Как упоминалось ранее, большая часть .NET Framework теперь с открытым исходным кодом, и еще больше. Уже можно (в некоторой степени) воспользоваться этим на платформах, отличных от Windows. Тогда один может задаться вопросом, как Mono все еще может быть полезен для людей.
Ответ на этот вопрос довольно прост: многие из используемых компонентов .NET невидимы для конечных пользователей. Все еще довольно сложно создавать кроссплатформенные графические приложения, используя только открытую среду Microsoft. Mono, с другой стороны, хорошо зарекомендовал себя, имея несколько способов написания программ, выглядящих нативно, без особых хлопот. И это будет только расти,
Конечно, когда компоненты с открытым исходным кодом .NET станут более устоявшимися, он получит многие из преимуществ, которые в настоящее время предоставляет Mono. И это может быть полезно только для Linux, а также для пользователей, которые могут захотеть перейти на него. В конце концов, всегда приветствуются более портативные приложения.
Как вы справляетесь с разрывом приложений в Linux?
Кредит изображения: OndrejProsicky / Depositphotos
Источник: helpexe.ru
Установка Mono в Windows
Здравствуйте, мне нужно скомпилировать программу ,написанную на с#, под Linux. Хотел использовать для этого Mono, но не могу понять как установить его в среду разработки. Люди пишут, что можно использовать Visual Studio, но как это сделать я не понял. С официального сайта всё скачал.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Mono 2.8 Profiler ошибка при запуске [Mono]
скачал отсюда профайлер 2.8 http://greghurlman.com/2010/10/23/visual-s. e-for-mono-2-8/ .
Как поставить Mono на Windows
Опишите пожалуйста кто делал,как?И какие инструменты нужны?
Будет ли работать приложение, скомпилированное под Mono в Linux, в Windows
К примеру, я скомпировал простую форму GTK# в monodevelop (.net framework выбрал 2). Она будет.
Установка Mono Debian
Здравствуйте, после установки Mono я решил попробовать скомпилировать какой-либо проект, но, к.
Администратор
9346 / 4628 / 755
Регистрация: 17.04.2012
Сообщений: 9,485
Записей в блоге: 14
11224354efd, программа должна запуститься на Mono без перекомпилирования. Просто собираете проект на винде и потом запускаете на линуксе.
Некоторые проблемы все же могут быть, нужно тестировать.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Можно ли запустить Mono под Windows 8.1?
можно ли как то запустить моно под win 8.1? При попытке запуска запускается консолька да и только.
Установка Mono в Ubuntu 11.10
Доброго времени суток! Решил установить Mono. Для этого в терминале пишу sudo apt-get install mono.
Установка Windows 8 вместо Windows 7, которая установлена рядом с Windows xp
Есть windows 7. Она установлена рядом с windows xp ( раздел 1 (C:) windows xp, раздел 2 (D:) мои.
Установка — Установка Windows XP через DOS
Проблема не в установке. Буду краток я коверкою ОС ХР для универсальной установки .WIM файла есть.
Установка Windows XP SP3 после Windows Vista и Windows 7
Доброго времени суток! Вопрос такого плана: Уже довольно долго у меня стоят две оси, XP SP2 и.
Источник: www.cyberforum.ru
Как установить Mono и Gecko?
Из WineHQ Wiki. Моно это кроссплатформенная реализация платформы. NET Framework. Wine может использовать Windows-сборку Mono для запуска. NET-приложений.
Mono MSI — это вирус?
Я могу подтвердить, что это Вирус, он тоже заразил меня, к счастью, я не установил его, это программа, которая, если она установлена, в свою очередь устанавливает другие вирусы, я рекомендую удалить программу и все созданные ею папки, не устанавливая ее, как это сделал я, впоследствии проверьте свою безопасность с помощью антивируса, который .
Как установить вино?
- Щелкните меню «Приложения».
- Типа ПО.
- Щелкните Программное обеспечение и обновления.
- Щелкните вкладку Другое программное обеспечение.
- Щелкните Добавить.
- Введите ppa: ubuntu-wine / ppa в разделе строки APT (рисунок 2).
- Щелкните Добавить источник.
- Введите свой пароль sudo.
Безопасно ли удалять моно MSI?
Спонсируемая Microsoft, Mono — это реализация Microsoft .NET Framework с открытым исходным кодом, основанная на стандартах ECMA для C # и Common Language Runtime. Вам не нужно удалять, если это необходимо вашему компьютеру , это программное обеспечение, предназначенное для использования разработчиками.
Винные окна безопасны?
Из-за способности Wine запускать двоичный код Windows были высказаны опасения по поводу собственных вирусов Windows и вредоносных программ, влияющих на Unix-подобные операционные системы, поскольку Wine может запускать ограниченное количество вредоносных программ, созданных для Windows. . По этой причине разработчики Wine рекомендует никогда не запускать его от имени суперпользователя.
Что такое винный Ubuntu?
Вино позволяет запускать приложения Windows под Ubuntu. Wine (первоначально аббревиатура от Wine Is Not an Emulator) — это уровень совместимости, позволяющий запускать приложения Windows в нескольких POSIX-совместимых операционных системах, таких как Linux, Mac OSX и BSD.
Что такое винный Linux?
Wine (Wine не эмулятор) — это для запуска приложений и игр Windows в Linux и Unix-подобные системы, включая macOS. В отличие от запуска виртуальной машины или эмулятора, Wine фокусируется на вызовах интерфейса протокола приложений Windows (API) и переводит их в вызовы интерфейса переносимой операционной системы (POSIX).
Что лучше Wine или PlayOnLinux?
PlayOnLinux — это интерфейс для Wine, поэтому вы можно использовать Wine без PlayOnLinux но вы не можете использовать PlayOnLinux без Wine. Это позволяет использовать некоторые полезные дополнительные функции. Если вы собираетесь использовать Wine, нет причин избегать PlayOnLinux.
Может ли Wine запускать любую программу Windows?
Вино. Wine — это способ запустить программное обеспечение Windows в Linux, но без Windows требуется. Wine — это «уровень совместимости с Windows» с открытым исходным кодом, который позволяет запускать программы Windows прямо на рабочем столе Linux. . Многие люди используют Wine, например, для игры в World of Warcraft на Linux.
Как запустить программу в Wine?
- Загрузите приложение Windows из любого источника (например, download.com). Загрузите. .
- Поместите его в удобный каталог (например, на рабочий стол или в домашнюю папку).
- Откройте терминал и перейдите в каталог, где находится файл. EXE находится.
- Введите вино имя-приложения.
Источник: borismarkin.ru