mono complete что это

Установка и настройка mono на Linux Ubuntu

Установка и запуск mono

Установку выполняем командой:

apt-get install mono-complete mono-xsp4 asp.net-examples

* пакет mono-complete содержит все возможности Mono; mono-xsp4 предоставляет поддержку ASP.NET; asp.net-examples — содержит примеры скриптов ASP и скрипт для автоматической конфигурации веб-приложения.

Разрешаем автозапуск и стартуем сервис:

systemctl enable mono-xsp4

systemctl start mono-xsp4

Если мы используем брандмауэр, добавим правило:

* где 8084 — порт, по умолчанию для mono-xsp4.

Сохраняем правила iptables любым способом, например:

* если данная команда вернет ошибку, устанавливаем iptables-persistent командой apt-get install iptables-persistent.

Для проверки работы сервиса открываем браузер и переходим по адресу http:// :8084/samples/ — мы должны увидеть страницу «Welcome to Mono XSP»:

* не обращаем внимания на некрасивый вид страницы и отсутствующее изображение — это происходит по причине того, что демо верстка немного не коррелирует с настройкой веб-приложения.

Совместное использование с веб-сервером

Рассмотрим процесс настройки mono с веб-серверами NGINX и Apache2 путем проксирования запросов.

NGINX

Открываем файл настройки виртуального домена по умолчанию:

Находим опцию location / и приводим ее к виду:

* где proxy_pass перенаправляет все запросы на внутренний сервер mono-xsp4.

Проверяем корректность настроек:

. и перезапускаем nginx:

systemctl restart nginx

Теперь открываем браузер и заходим по адресу http:// /samples/ (без указания порта). Мы должны увидеть веб-приложение, настроенное на mono.

Apache

Включаем модули для проксирования:

a2enmod proxy proxy_http

* где proxy — главный модель для перенаправления запросов; proxy_http — проксирование HTTP.

Настраиваем виртуальный домен с сайтом — в данном примере для сайта по умолчанию:

Добавляем строки внутри VirtualHost:

.
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8084/
ProxyPassReverse / http://127.0.0.1:8084/
.

* где опция ProxyPreserveHost включаем проксирование для виртуального домена; ProxyPass позволяет перенаправить все запросы на данный сервер (в данном примере, на локальный mono-xsp4); ProxyPassReverse задает правило для возврата ответа — при такой настройке ответ будет возвращаться обратно веб-серверу.

Проверяем корректность настроек:

. и перезапускаем веб-сервер:

systemctl restart apache2

Теперь открываем браузер и переходим по адресу без указания порта — http:// /samples/. Мы должны увидеть веб-приложение, настроенное на mono.

Дополнительные настройки

Разберем некоторые настройки, которые могут пригодится при конфигурировании сервера.

Добавить веб-приложение

Открываем файл webapp:

. также можно использовать дополнительные опции:

systemctl restart mono-xsp4

Смена порта сервера

Открываем настройки mono-xsp4:

Ищем опцию port= и меняем ее значение на порт, на котором должен работать сервис:

Источник

Как установить Mono в Ubuntu 20.04

В этом руководстве описаны шаги, необходимые для установки Mono в Ubuntu 20.04.

Подготовка

Установка Mono в Ubuntu

Mono недоступен в стандартных репозиториях Ubuntu 20.04. Мы установим пакеты Mono из официальных репозиториев Mono:

Установите зависимости, необходимые для добавления нового репозитория через HTTPS:

Импортируйте GPG-ключ репозитория:

Результат должен выглядеть примерно так:

Добавьте репозиторий Mono в список источников вашей системы:

Читайте также:  челядь что это такое

mono-complete — это мета-пакет, который устанавливает среду выполнения Mono, инструменты разработки и все библиотеки.

Установка может занять несколько минут. После завершения проверьте его, введя следующую команду, которая распечатает версию Mono:

На момент написания этой статьи последней стабильной версией Mono была 6.8.0.123.

Вот и все, Mono установлен на вашем компьютере с Ubuntu, и вы можете начать его использовать.

Начало работы с Mono

Чтобы убедиться, что все настроено правильно, мы собираемся создать программу Hello World, которая печатает классическое сообщение «hello world».

Откройте текстовый редактор и создайте файл hello.cs со следующим содержимым:

Используйте компилятор csc для сборки программы:

Запускаем исполняемый файл:

Результат должен выглядеть примерно так:

Чтобы выполнить программу только путем ввода ее имени, установите флаг исполняемого файла :

Выводы

Установка Mono на Ubuntu 20.04 — относительно простой процесс, и он займет у вас всего несколько минут.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Источник

Mono и ОС МСВС

Знакомство с ОС МСВС

Итак, википедия говорит, что ОС МСВС — это Мобильная Система Вооруженных Сил. А именно, защищенная операционная система общего назначения. Разработала ее организация ВНИИНС. Система создана на базе Linux в соответствии с требованиями Министерства Обороны РФ.

В постановке задачи не была указана конкретная версия системы, поэтому, посоветовавшись с техподдержкой ВНИИНС, была выбрана наиболее актуальная на сегодняшний день ОС МСВС 5.0 ЦАВМ.11004-01 изм. №7.

Примерно месяц ушел на покупку официальной версии и еще несколько дней на подбор “железа” и установку системы. Однозначно можно сказать что ОС МСВС 5.0 не ставится на процессоры х86 и ноутбуки с 2-мя видеокартами.

Так выглядит графическая оболочка МС ОСВС:

Можно предположить, что такое состояние дел вызвано трудностями с сертификацией составных частей системы.

Установка Mono

Реализации Mono существуют для следующих операционных систем: Windows, Linux, BSD (FreeBSD, OpenBSD, NetBSD), Solaris, Mac OS X, Apple iOS, Wii. Поддерживаются платформы: s390, SPARC, PowerPC, x86/x86-64, IA64, ARM, Alpha, MIPS, HPPA.

Идем на сайт проекта и видим там, что для установки нужно выполнить всего лишь 3 команды:

Первая команда добавляет ключ подписи для доступа в репозиторий, вторая настраивает репозиторй, третья инсталлирует Mono.

Программное обеспечение устанавливается в ОС МСВС (как в наследнике RHEL) в виде RPM пакетов. Для удобства этого процесса часто используется менеджер пакетов YUM. В состав ОС МСВС входит графическая оболочка менеджера пакетов, но я пользовался консольной версией. Пакеты находятся в репозиториях, которые могут находиться как на локальной машине, так и где-то в сети. Добавив ссылки на репозитории в менеджер пакетов YUM, можно довольно удобно обновлять систему. Как правило, в RHEL и его наследниках репозитории уже добавлены и настроены, однако в ОС МСВС имеется только один репозиторий, расположенный на установочном компакт-диске.

Читайте также:  какой краской красят бетонные полы

Проблемы начались уже на второй команде. Оказалось, что yum-config-manager отсутствует в системе:

[mono_repository]
name=mono repository
baseurl=http://download.mono-project.com/repo/centos/
enabled=1
gpgcheck=0

Однако и теперь ничего не получилось:

После этого репозитории заработали, как нужно:

Но выполнить инсталляцию Mono все равно не получается.:

При установке проверяются зависимости пакетов. Оказалось, что инсталляция Mono из данного репозитория требует, чтобы в системе были версии библиотек не ниже:

Можно было бы попробовать обновить все эти библиотеки, однако это может привести к проблемам в работе другого ПО, использующего их.

StackOverFlow подсказал мне другое решение: нужно попробовать поставить более раннюю версию Mono. Оказывается, существует архив версий. Опытным путем удалось определить, что самой свежей версией Mono, которая нормально ставится на ОС МСВС 5.0 ЦАВМ.11004-01 изм. №7 является версия 2.10.2. Репозиторий находится тут.

В итоге, чтобы все установить, нужно сделать следующее:

2. Выполнить команду yum install monotools-addon-server для установки основных библиотек.
3. Выполнить команду yum install mono-addon-winforms-2.10.2-5.1.x86_64 для установки библиотек winforms.
4. Выполнить команду yum install mono-addon-libgdiplus0.x86_64 0:2.10-6.2 для установки реализации GDI+.

В результате должно получиться так:

Кроме того, можно проверить работоспособность, запустив пару программ.

Проблемы портирования

Чтобы работать в привычной среде, я установил ту же версию Mono для Windows.

В каждой из них я добавил опцию компилятора /define MONO

Теперь можно использовать такую вот конструкцию:

С первого раза, конечно же, ничего не заработало. В первую очередь — получение имени процессов:

Этот код возвращает количество таких же запущенных в системе процессов. Проблема решилась, путем игнорирования исключений от не нужных нам процессов.

При этом код продолжил выполнять свою функцию.

Затем на форме “уехали” кнопки. Должно быть так:

А получилось так:

Это решилось небольшим изменением расположения элементов на форме:

В итоге пришлось переписывать весьма внушительную часть кода, заменяя автоматическую сериалиацию на “ручную” сборку класса из массива.

Результат

В результате задача была решена. Непосредственно на портирование ушло около 2-х недель. Еще где-то неделю заняли исследования процесса установки Mono. И месяц заняла покупка операционной системы.

Что дальше?

А дальше нужно формировать собственный репозиторий, который автоматически будет устанавливать Mono и само ПО. После этого должна быть сертификация…

Но, как обычно, все поменялось на самом интересном месте. В самом разгаре работы оказалось, что ОС МСВС уже не актуальна. Нужно все делать на AstraLinux… А это уже немного другая история.

Источник

Установка Mono и MonoDevelop в Ubuntu

Языки программирования C# и VB.NET позволяют создавать приложения не только для Windows.

Разработка на Mono в Linux чаще всего производится в IDE MonoDevelop.

Рассмотрим установку Mono и MonoDevelop на примере Ubuntu.

Читайте также:  что делает женский возбудитель
Подготовка

Для начала необходимо добавить информацию о репозитории с помощью следующих команд:

Если планируется использовать Mono вместе с Apache, добавляем информацию о соответствующем модуле:

Установка Mono

Установка Mono выполняется стандартной командой:

Вместо «имя_пакета» необходимо указать название пакета, который планируется установить. Существует несколько вариантов установки Mono:

Команда для его установки:

На этом установка Mono завершена. Но для работы требуется установить IDE. В качестве IDE воспользуемся обычной MonoDevelop.

Установка MonoDevelop

На официальном сайте описаны два способа установки MonoDevelop:

Последний способ заявлен как устаревший (deprecated), но, тем не менее, он наиболее надёжен и универсален (по крайней мере, первый способ не работает для Ubuntu Server). Поэтому рассмотрим именно его.

Дистрибутив MonoDevelop также разбит на несколько пакетов. Однако в отличие от Mono пакета с «полным дистрибутивом» в данном случае не предусмотрено. Потому придётся устанавливать все пакеты один за другим.

Источник

Платформа Mono состоит из нескольких компонентов:

Mono Class Library – было создано множество классов с дополнительной функциональностью специально для Mono, которые выходят за рамки библиотеки базового класса, предоставляемой Microsoft.

Несмотря на предвзятое отношение разработчиков к платформе Mono, многие известные компании используют его. Например:

Так как кросс-платформенных генераторов не так уж и много, а действительно хороших, так вообще по пальцам посчитать можно, FastReports решила создать генератор отчетов для Mono. Тем более, что уже есть готовый популярный генератор отчетов FastReport.Net, на базе которого и был создан FastReport.Mono. Он появился в 2013 году, и на тот момент повторял функционал FastReport.Net. Однако сейчас, между ними есть различия. Что уж таить, FR.Net значительно продвинулся вперед. Тем не менее FastReport.Mono остается сильным конкурентом в своей нише. И лично я не знаю других генераторов отчетов под фреймворк Mono с таким богатым функционалом.

Что же предлагает FastReport.Mono?

Давайте рассмотрим детальнее. Итак, с FastReport.Mono можно работать в разных операционных системах. Ну конечно же, Mono кросс-платформенный фреймворк. Поэтому нам доступны системы: Windows, MacOs, семейство Linux.

Для работы с Mono, а соответственно и с FastReport.Mono подходят следующие среды разработки:

Microsoft Visual Studio (под Windows), MonoDevelop (Windows, MacOs, Linux) и Embarcadero Delphi Prism (Windows, MacOs, Linux).

Языки программирования, для работы с FR.Mono: C#, VB.Net, Oxygene (Embarcadero Delphi Prism).

Язык встроенного скрипта отчета: C#, VB.Net. Все также, как и в FastReport.Net.

Источники данных, доступные по умолчанию: XML, CSV. А для подключения к базам данных нужно использовать источник данных пользовательского приложения, или внешние коннекторы, устанавливаемые в систему.

Интересные особенности генератора отчетов:

Список возможных экспортов отчета достаточно большой:

Обратите внимание, последние элементы списка – Clouds – это по сути сохранение отчета в облачные сервисы.

Источник

Сказочный портал