Green-sell.info

Новые технологии
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Установка net на linux

Как установить Microsoft .NET Core SDK в Linux

Главное меню » Операционная система Linux » Как установить Microsoft .NET Core SDK в Linux

.NET Ядро- это бесплатный, кросс-платформенный и с открытым исходным кодом, разработанная Microsoft для создания приложений для настольных компьютеров, мобильных приложений, веб – приложений, IoT приложений и игровых приложений и т.д. Если вы Dotnet разработчик от платформы Windows, ядро .NET помогает Вы можете легко настроить свою среду разработки на любых Linux и Unix-подобных операционных системах. В этом пошаговом руководстве объясняется, как установить Microsoft .NET Core SDK в Linux и как написать свое первое приложение с использованием .Net.

Установка Microsoft .NET Core SDK в Linux

В Debian 9 вы можете установить .NET Core SDK, как показано ниже.

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

После регистрации ключа и добавления репозитория установите .NET SDK с помощью команд:

Добавьте ключ Microsoft и включите репозиторий .NET:

Установка .NET SDK:

Добавьте ключ Microsoft и включите репозиторий .NET:

Теперь установите .NET SDK:

В Fedora 27 добавьте ключ и хранилище с помощью команд:

И установка .NET SDK с помощью команд:

В CentOS/Oracle Linux:

Добавьте ключ Microsoft и включите репозиторий ядра .NET:

Обновите репозитории и установите .NET SDK:

На openSUSE Leap:

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

Обновите репозитории и установите .NET SDK с помощью команд:

На Ubuntu 18.04 LTS:

Зарегистрируйте ключ Microsoft и репозиторий ядра .NET с помощью команд:

Включить репозиторий «Universe», используя:

Затем установите .NET Core SDK с помощью команды:

На Ubuntu 16.04 LTS:

Зарегистрируйте ключ Microsoft и репозиторий .NET с помощью команд:

А затем установите .NET core SDK:

Создайте свое первое приложение

Мы успешно установили .Net Core SDK в нашу коробку Linux. Настало время создать наше первое приложение, используя dotnet.

Для целей данного руководства мы собираемся создать новое приложение под названием «andreyexApp». Для этого просто выполните следующую команду:

Как видно из вышеприведенного вывода, .Net создал новое приложение типа console. Параметр -o создает каталог с именем «andreyexApp», в котором вы храните данные своего

приложения со всеми необходимыми файлами.

Давайте перейдем в каталог andreyexApp и посмотрим, что там.

В вашем распоряжении три файла с именем andreyexApp.csproj и Program.cs и один каталог с именем obj . По умолчанию файл Program.cs будет содержать код для запуска программы «Hello World» в консоли. Давайте посмотрим на код.

Чтобы запустить только что созданное приложение, просто запустите следующую команду:

Запустите программу Hello World, используя dotnet

Просто, не правда ли? Да! Теперь вы можете написать свой код в файле Program.cs и запустить его, как показано выше.

Кроме того, вы можете создать новый каталог, например, mycode, используя команды:

… И сделайте это своей новой средой разработки, выполнив следующую команду:

Приведенная выше команда создаст два файла с именем mycode.csproj и Program.cs и один каталог с именем obj . Откройте файл Program.cs в вашем любимом редакторе, удалите или измените существующий код «hello world» на ваш собственный код.

После написания кода сохраните и закройте файл Program.cs и запустите приложение с помощью команды:

Чтобы проверить установленную версию .NET core SDK, просто запустите:

Чтобы получить помощь, запустите:

Редактор кода Microsoft Visual Studio

Чтобы написать код, вы можете использовать ваши любимые редакторы по вашему выбору. Microsoft также имеет собственный редактор под названием «Microsoft Visual Studio Code» с поддержкой .NET. Это открытый, легкий и мощный редактор исходного кода. Он поставляется со встроенной поддержкой JavaScript, TypeScript и Node.js и имеет богатую экосистему расширений для других языков (таких как C ++, C #, Python, PHP, Go) и сред выполнения (таких как .NET и Unity). Это кроссплатформенный редактор кода, поэтому вы можете использовать его в Microsoft Windows, GNU/Linux и Mac OS X. Вы можете использовать его, если вам интересно.

Телеметрия

По умолчанию .NET core SDK собирает данные об использовании с помощью функции «Телеметрия». Собранные данные являются анонимными и передаются команде разработчиков и сообществу в рамках лицензии Creative Commons Attribution., Таким образом, команда .NET поймет, как используются инструменты, и решит, как их можно улучшить с течением времени. Если вы не хотите делиться информацией об использовании, вы можете просто отказаться от телеметрии, установив для переменной среды DOTNET_CLI_TELEMETRY_OPTOUT значение «1» или «true», используя вашу любимую оболочку.

И это все. Вы знаете, как установить .NET Core SDK на различные платформы Linux и как создать базовое приложение, используя его.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Установка Visual Code и Net Core 1.0 Ubuntu 16.04

Несколько месяцев назад состоялся релиз среды разработки программного обеспечения от Microsoft — Visual Code. Тогда же было анонсировано выход с открытым исходным кодом платформы Net Core для Linux, позволяющей писать программы на ASP.NET и C# для Linux. И вот, Microsoft сдержала свое слово. Пару дней назад состоялся релиз первой версии Net Core 1.0 preview 2. Эта платформа официально поддерживается в Red Hat Enterprice и ряде других дистрибутивах, в том числе Ubuntu, Fedora, OpenSUSE.

Платформа Net Core — это следующее поколение Net Framework. Раньше Net Framework делился на несколько потоков, это NET для компьютеров, NET для мобильных телефонов, NET Silverlight и NET Windows Store. Все эти продукты поддерживались разными командами и при разработке возникало много несоответствий. Поэтому и было принято решение создать единую, платформу Net Core, которая заменит старые компоненты и сможет использоваться на разных устройствах и операционных системах, в том числе Linux и Mac OS. Если совсем просто, то Net Core — это набор компиляторов и библиотек для разработки программ на языке C# (Си шарп), а Visual Code — всего лишь среда разработки, текстовый редактор с подсветкой синтаксиса и другими плюшками.

Читать еще:  Net core linux

В этой инструкции будет рассмотрена установка NET Core 1.0 и среды разработки Visual Code в Ubuntu 16.04. После установки вы сможете перейти к созданию своих программ.

Установка Visual Code

Релиз Visual Code состоялся достаточно давно, и эта программа была достаточно протестирована и отлажена. Поскольку это среда разработки от Microsoft, именно ее мы будем использовать для создания Net программ в Linux. Установка Visual Code Ubuntu 16.04 может быть достаточно сложной, если вы начнете собирать программу из исходных кодов, но можно пойти другим путем. Мы воспользуемся утилитой ubuntu-make, которая все сделает за нас. Сначала установим ее:

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
$ sudo apt-get update
$ sudo apt-get install ubuntu-make

Теперь установка Visual Studio Ubuntu 16.04:

sudo umake ide visual-studio-code

После завершения установки вы можете найти программу в главном меню:

Главное окно программы выглядит вот так:

Теперь перейдем к самому главному — установка net core в ubuntu.

Установка Net Core Ubuntu

Установка Visual Code, это только пол пути, чтобы иметь возможность писать программы C# в Linux нам понадобиться Net Core. Естественно, этой программы нет в официальных репозиториях. Поэтому сначала добавляем PPA:

sudo sh -c ‘echo «deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main» > /etc/apt/sources.list.d/dotnetdev.list’
$ sudo apt-key adv —keyserver apt-mo.trafficmanager.net —recv-keys 417A0893
$ sudo apt-get update

sudo apt-get install dotnet-dev-1.0.0-preview1-002702

Но получаем ошибку:

The following packages have unmet dependencies:
dotnet-dev-1.0.0-preview1-002702 : Depends: dotnet-sharedframework-microsoft.netcore.app-1.0.0-rc2-3002702 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Это происходит потому, что система пытается установить пакет dotnet-sharedframework, который зависит от библиотеки libicu52, которой нет в репозиториях Ubuntu 16.04 но не беда, исправим. Скачаем эту библиотеку из архива Ubuntu 14.04:

sudo dpkg -i libicu52_52.1-3ubuntu0.4_amd64.deb

Пробуем еще раз, и на этот раз все работает:

sudo apt-get install dotnet-sharedframework-microsoft.netcore.app-1.0.0-rc2-3002702

sudo apt-get install dotnet-dev-1.0.0-preview1-002702

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

Отлично, установка asp ubuntu 16.04 прошла успешно и вы можете начинать писать свои программы на C# в Linux. Но теперь нужно объединить фреймворк dotnet и Visual Code для более удобной работы.

Настройка Net Core

Вопреки нашим опасениям, у Net Core есть очень удобный инструмент, для управления проектами. Вы уже с ним знакомы. Это команда dotnet. Давайте создадим пустой проект. Для этого сначала создадим пустую папку:

Затем установим все зависимости:

Ну и проверим как сработало, запустив нашу программу:

Вот код нашей программы в файле Program.cs:

Как видите, все работает, и работает правильно. Теперь давайте настроим Visual Studio для написания программ на C# в Linux.

Настройка Visual Code для написания программ NET

Просто открыть проект не получиться. Для того, чтобы все заработало нужно установить расширение C#. Для этого откройте среду Visual Code, нажмите Ctrl+E и наберите:

Выберите из списка расширение C# от Microsoft, затем начнется установка. После завершения установки нас попросят перезагрузить среду Visual Code ubuntu:

После перезагрузки у нас появилась подсветка синтаксиса. На вкладке отладка мы можем видеть, что установка Net Core Ubuntu 16.04 в Visual Code прошла успешно:

Если нажать зеленый треугольник, нам предложат настроить среду отладки:

Соглашаемся, и пойдет загрузка и настройка отладчика.

После завершения вы можете запустить свою программу и убедиться что все работает.

Выводы

Установка csharp Ubuntu 16.04 прошла успешно, и теперь вы можете писать C# программы на Linux. Было неожиданно, что Microsoft сделает это, но наконец таки это свершилось. Правда Microsoft в своем репертуаре, они собирают данные телеметрии, об выполняемых командах и их параметрах, обещают, что анонимно, но все же. Чтобы откключить такое поведение нужно установить переменную среды DOTNET_CLI_TELEMETRY_OPTOUT=1. Вот, собственно и все. Установка Net Core в Ubuntu 16.04 для Visual Code завершена. А вы будете использовать этот язык в Linux? Напишите в комментариях!

Установка ASP.NET (+Mono 2.6) в Debian/Ubuntu Linux

Для работы сайтов, написанных на ASP.NET, необходимо поставить среду выполнения IL байт-кода и собственно веб-сервер. Таким образом, существует, как минимум, два способа заставить работать сайт на ASP.NET в Linux. Первый – поставить родной для ASP.NET фреймворк Microsoft .NET Framework для работы под управлением Wine, второй – установить Mono и адаптировать под него свой сайт.

Но не все так просто и безобидно. Оба метода не лишены недостатков. Прежде всего, Microsoft .NET Framework является дополнением к операционной системе Windows, и, установив его под Wine, вы нарушите лицензионное соглашение. Кроме того, даже если вы, нарушив лицензионное соглашение, все-таки установите его под Wine, неизвестно как он покажет себя в плане стабильности и производительности, а это очень важно для сервера. Во втором случае существует такая особенность, как неполная совместимость Mono с Net. Framework. Поэтому, если изначально сайт не разрабатывался для работы в Mono, вероятно, часть кода придется переписать. Впрочем, переписывать код в любом случае придется, в частности, при миграции с MSSQL или Oracle, с которыми работает большинство сайтов на ASP.NET, это коснется кода, взаимодействующего с базой данных.

Читать еще:  Ms sql server на linux

В моем случае, целью была изначальная разработка сайта на APS.NET для сервера с Linux. Поэтому был создан локальный VPS, на который теперь нужно установить Mono, веб-сервер и сделать минимально необходимые настройки. Итак, коннектимся к серверу по SSH, вводим логин и пароль. Мой сервер был никак почти никак не настроен, поэтому первым делом я установил sudo и добавил себя в список /etc/sudoers.

aptitude install sudo

Все, теперь все операции через sudo. У меня на сервере стоит Debian, поэтому все, что далее написано, применимо к любому дистрибутиву Linux, основанному на Debian, в том числе и к большинству дистрибутивов, основанных на Ubuntu.

Итак, если вы используете Debian, то на первый взляд тут все довольно печально – самой старшей версией, доступной в стандартном репозитории стабильной ветки, является Mono 1.9.1. Идем на сайт Mono. Слегка порывшись в документации можно увидеть, что все-таки существует возможность поставить версию 2.4.2.3. Для этого нужно добавить репозиторий в файл /etc/apt/sources.list:

deb http://www.backports.org/debian lenny-backports main

Обновить список пакетов и произвести установку:

sudo aptitude update
sudo aptitude -t lenny-backports install mono-runtime

В репозитории Ubuntu последних версий, версия 2.4.2.3 доступна, поэтому если нужна эта версия, ее можно установить так:

sudo aptitude install mono-runtime

Вначале собственно она и была мной установлена, но потом там обнаружились некоторые нужные мне и не реализованные в этой версии функции. Нужно было работать c SSL, а также отправить письмо через Google SMTP. Для работы с SSL было найдено несколько способов реализации этих возможностей, в Windows все работало. В Linux при соединении по SSL работал только устаревший способ. Для работы с SMTP Google, потребовалось установить сертификат, но и после этого отправка писем не работала. При установке другого сертификата, вообще возникало исключение. Для решения данной проблемы, было найдено 3 варианта, изменить логику и не отсылать письма через Google, поставить патчи, либо перейти на более новую версию.

Установка Mono 2.6

Сначала был найден скрипт для сборки из исходников. Скрипт в общем-то работал, но компилятор C# отказался компилировать один из файлов, выдав сообщение, гласящее: «decl.cs(628,57): error CS0246: The type or namespace name ‘var’ could not be found. Are you missing a using directive or an assembly reference?» Желания разбираться в исходниках у меня не было. Поэтому пришлось снова погрузиться в поиск. В этот раз были найдены deb-пакеты Mono 2.6.1 для Ubuntu.

Для установки Mono 2.6.1 нужно добавить в файл /etc/apt/sources.list два репозитория – тестируемых пакетов Debian, для получения свежих версий некоторых пакетов, и репозиторий OpenSuse. Во втором находятся несколько версий Mono 2.6.1 и можно выбрать нужную версию. Так как конкретно для Debian там был только пакет libgdiplus, я добавил репозиторий для Ubuntu 9.10:

deb http://ftp.de.debian.org/debian squeeze main
deb http://download.opensuse.org/repositories/home:/surfzoid:/DebianUbuntu:/Mono/Ubuntu_9.10_standard ./

Обновляем список пакетов и устанавливаем Mono:

sudo aptutude update
sudo aptitude install mono-runtime

Итак, минимальная конфигурация Mono установлена. Проверить, что установилась именно Mono версии 2.6.1, можно, набрав команду:

Теперь можно доустановить другие нужные пакеты Mono или оставить все как есть.

Настройка nginx в качестве front-end к xsp2.

В качестве веб-сервера для работы ASP.NET в Linux можно использовать как стандартный Mono-сервер xsp2, так и Apache или nginx. Первый, в общем-то, целесообразно использовать только для обработки ASP.NET страниц. В Apache обрабатывать страницы APS.NET можно путем подключения модуля mod_mono или через FastCGI. В третьем случае страницы ASP.Net можно обрабатывать либо через FastCGI, следуя руководству, расположенному на сайте Mono, либо, используя nginx в качестве front-end сервера, а xsp2 в качестве back-end сервера.

Очевидно, что для эффективной работы связка с веб-сервером nginx более предпочтительна, по сравнению с Apache. Вначале я настроил связку через FastCGI и протестировал на простой странице ASP.NET, которая показывала текущее время. В итоге получилось, что при обработке каждой тысячи запросов возникает 2-3 ошибки (посылалось по 10 запросов одновременно). После перенастройки nginx для проксирования страниц на веб-сервер xsp2, такой проблемы не обнаружилось даже после увеличения количества одновременных запросов до 100.

Итак, процесс установки nginx в качестве front-end сервера к xsp2, заключается в следующем.

Установка и настройка nginx:

В файле конфигурации /etc/nginx/nginx.conf в секции http записываем настройки веб-сервера.

upstream backend <
server 127.0.0.1:8080; #адрес на котором находится веб-приложение
>

server <
listen 80;
server_name myvps; #имя сервера myvps
access_log /var/log/nginx/myvps.access.log;
error_log /var/log/nginx/myvps.error.log;

location / <
root /var/www/myvps/; #корневая директория
index index.html index.htm default.aspx Default.aspx;
>

#далее расширения файлов, которые будет обрабатывать xsp2
location

.(aspx|asmx|ashx|asax|ascx|soap|rem|axd|cs|config|dll)$ <
#настройки проксирования
proxy_pass http://backend;
#передаваемые заголовки
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
>

Установка xsp2

При желании можно сконфигурировать автозапуск веб-сервера xsp2. Сделать это очень просто, например, через .webapp-файл, который имеет следующий формат

Тегов web-application может быть несколько, по одному на каждое Web-приложение.

Конфигурационной директорией, указанной в стандартном скрипте для автозапуска, является /etc/xsp2/. В ней находится файл debian.webapp, используемый в качестве конфигурационного по умолчанию. Можно внести измения прямо в него. Например, для запуска Web-приложения, используемого выше для проверки работоспособности сервера, изменения выглядят так:

Читать еще:  Linux какую лучше выбрать

Также, нужно убрать опцию —port $post из скрипта автозапуска, в противном случае указанные в конфигурационном .webapp-файле порты будут проигнорированы.

Теперь нужно проверить работоспособность. Распакуйте и поместите тестовые файлы в папку /var/www/myvps. Запустите nginx и xsp2:

Как запустить dotnet core и angular universal на nginx ubuntu

Идея приложения, следующая : Сервер у нас на dotnet core. А клиент на angular 7 (2+) с использованием SSR (server site rendering) или universal angular

Нам нужен VPS сервер. Я использую яндекс.облако. Они пока что дают 2 месяца бесплатного использования. Для экспериментов думаю вполне достаточно.

Как добавить виртуальную машину в яндекс облаке.

Если у вас есть другой VPS пропустите этот блок.

  1. Если вы уже зарегистрировались и активировали пробную версию.

Активируйте пробную версию в яндекс облаке

2. Перейдем во вкладку compute cloud

3. Нажмите на «Создать ВМ»

4. Введем простую конфигурацию ВМ

5. Добавим SSH-ключ

Запустите cmd.exe или powershell.exe . И введите следующую команду.

ssh-keygen -t rsa -b 2048

Я запускал на windows 10 и у меня вылетало сообщение ‘ssh-keygen’ is not recognized. Я просто запустил эту команду в git-bash. Есил еще не установили его установите очень нужная и полезная штука.

В папке /c/Users/username/.ssh/id_rsa у вас появится файлы id_rsa и id_rsa.pub

Добавим содержимое файла id_rsa.pub в поле SSH-ключ

Подлючимся к VPS серверу и установим несколько компанентов.

На вашем VPS установим следующие компоненты.

  1. Install .NET Core Runtime on Linux Ubuntu 18.04 — x64
  2. Install supervisor

Install .NET Core Runtime on Linux Ubuntu 18.04 — x64

Чтобы наше .NET Core приложение запускалось на линуксе надо установить runtime среду. Которая и будет запускать нашу сборку.

Согласно официальной документации там же можно найти другие сборки под linux, windows, MacOS.

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb;
sudo dpkg -i packages-microsoft-prod.deb;
sudo add-apt-repository universe;
sudo apt-get install apt-transport-https;
sudo apt-get update;
sudo apt-get install —assume-yes aspnetcore-runtime-2.2;

Сделаем сборку на разработческой машине. Я делаю сборку в VisualStudio 2019. Но вы можете воспользоваться командой dotnet publish. Естественно, чтобы данная команда сработала не забудьте установить SDK. Вы можете сделать сборку и на сервере.

dotnet publish —configuration Release

Результатом сборки это файлы .dll. Найдите .dll файл стартового проекта (startup project). Например MyProject.dll.

Запустим сборку на сервере командой

Попробуйте обратиться по ip вашего сервера с указанием порта, например 52.155.122.144:5000, приложение должно запуститься.

Но есть проблема. Если закрыть консоль, то приложение отключится. Чтобы эту проблему решить надо запустить приложение в фоновом режиме, как службу. К счастью для этого можно использовать сторонней софт superviser, который ставиться невероятно просто.

Установка последней версии WineHQ в Ubuntu 18.04 и 19.04

Пример проблемы с зависимостью при установке Wine:

Проблема повторяется со всеми версиями winehq.

Приступим к первому этапу установки Wine в Ubuntu:

  • Для 64-bit системы подключаем поддержку 32-bit пакетов:
  • Подключаем OBS репозиторий, именно оттуда будет взят нужный пакет, благодаря которому не возникнет проблемы с зависимостью.

Для Ubuntu 19.04:

  • Скачиваем ключ Release.key в домашний каталог /home, или в любую другую папку.
  • Устанавливаем ключ (если ключ был загружен в другую папку, то устанавливаем из той папки):
  • С помощью терминала добавляем репозиторий:

Для Ubuntu 18.04:

  • Скачиваем ключ Release.key в домашний каталог, или в любую другую папку.
  • Устанавливаем ключ (если ключ был загружен в другую папку, то устанавливаем из той папки):
  • С помощью терминала добавляем репозиторий:

В случае проблем с сообщением: “NO_PUBKEY DFA175A75104960E”, добавляем ключ следующим образом:

Переходим к непосредственной установке Wine (команды выполняем в терминале):

  • Скачиваем и добавляем ключ:
  • Добавляем репозиторий

Для Ubuntu 19.04:

Для Ubuntu 18.04:

Если по каким-то причинам список пакетов не был обновлен, то обновим:

Переходим к непосредственной установке программы Wine:

  • Стабильная версия:
  • Версия в разработке:
  • Версия Staging (с дополнительными патчами, улучшениями):

Если в процессе установки или скачивания возникнет проблема с сетью или любая другая проблема, то повторите установку с ключом —fix-missing. Пример c версией staging:

Установка Winetricks

Программа Wine установлена, но для её наполнения необходимо установить скрипт с графическим интерфейсом — Winetricks. Данный пакет есть в репозитории Ubuntu, но я рекомендую установливать самую последнюю версию с github репозитория разработчика:

  • Для корректной работы скрипту Winetricks могут понадобится следующие пакеты, поэтому мы их сразу установим:
  • Скачивание и установка Winetricks:

Таким образом мы скачали и перенесли в нужную директорию самую последнюю версию скрипта.

Создаём префикс Wine:

Создание префикса x32 (команду выполняем в терминале):

Или создание префикса x64:

Префикс с битностью x32 стабильнее и лучше поддерживает установку библиотек Windows. Я пользуюсь именно им.

После выполнения команды создания префикса появится окно с предложением установить Mono и затем пакет Gecko.

Если вы не собираетесь отдельно устанавливать какую-либо версию .NET Framework, то стоит согласится на установку Mono. Gecko устанавливаем, соглашаемся на установку.

Настройки Wine доступны по команде: winecfg

Наполнение Wine с помощью скрипта Winetricks по одноименной команде: winetricks

Воспользоваться скриптом winetricks можно и без запуска его графической оболочки:

winetricks название пакета

Можно добавить ключ для автоматической установки нужных нам библиотек. Например:

Ссылка на основную публикацию
Adblock
detector