Green-sell.info

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

Net core 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.

.NET Core

.NET Core — это универсальная платформа разработки, которая поддерживается корпорацией Майкрософт и сообществом .NET на сайте GitHub. Она является кроссплатформенной: поддерживает Windows, Mac OS и Linux. Имеет открытый исходный код: распространяется по лицензиям MIT и Apache 2.

Платформа .NET Core является кроссплатформенным аналогом .NET Framework на уровне библиотек базовых классов (BCL) .NET Framework. Она реализует спецификацию библиотеки .NET Standard.

Важным отличием от проекта Mono, который направлен на создание свободной среды, совместимой с .NET Framework, является то, что .NET Core не имеет реализации Windows Forms и не реализует API .NET Framework с использованием тех же имён сборок, то есть не позволяет запускать приложения, собранные для .NET Framework.

Для ALT p8 и Sisyphus собран .NET Core 2.0.0, соответствующий спецификации .NET Standard 2.0. Платформа развивается очень быстро, уже готовится версия 3.0, и использование версий 1.0/1.1 не рекомендуется.

В составе SDK поставляется компилятор C# с открытым исходным кодом из состава .NET Compiler Platform — Roslyn.

В качестве среды разработки удобно использовать Visual Studio Code (см. подробнее по ссылке), для которого имеется расширение, позволяющее отлаживать приложения, написанные на C# под .NET Core на Linux.

Содержание

Установка [ править ]

Для установки среды выполнения (CoreCLR) с необходимыми библиотеками установите мета-пакет dotnet:

Для разработки приложений установите SDK для .NET Core (пакет dotnet-sdk):

Создание приложения «Hello, world!» [ править ]

(Необходимо иметь в домашнем каталоге >2 ГБ свободного места)

Читать еще:  Виртуальный диск linux

Вывод команд [ править ]

Основные команды [ править ]

Всё взаимодействие с .NET Core из командной строки осуществляется через команду

Для запуска приложения:

Для запуска команды управления пакетами NuGet:

Для скачивания и подготовки всех необходимых для сборки проекта пакетов:

Для запуска тестов MSTest или xUnit:

Диагностика [ править ]

Desktop-приложения [ править ]

Сама по себе платформа .NET Core покрывает и поддерживает только модель консольных приложений и приложений ASP.NET Core. Реализация WPF (Windows Presentation Foundation) отсутствует для платформы Linux.

В настоящее время (июль 2017) шаги к портированию WPF на .NET Core заключаются в обсуждении стандарта XAML Standard, которым описываются UI-элементы, чтобы появилась возможность реализовать System.XAML. После чего возникнет теоретическая возможность портировать/реализовать WPF поверх .NET Core.

ASP.NET [ править ]

Частью ASP.NET Core является кросс-платформенный веб-сервер KestrelHttpServer.

Установить пакет dotnet-aspnetcore

Если требуется доступ отовсюду, то запускаем так

Однако, по рекомендации MS, если приложение смотрит в Интернет, нужно использовать обратный прокси-сервер (IIS, Nginx или Apache).

Установка 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 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? Напишите в комментариях!

Читать еще:  Как установить visual studio на linux

Creating your first .NET Core project on Linux

And configuring Kestrel for a web environment

This post is the first of a series in which we’ll discuss about the experience of developing and running .NET web applications in Linux environments.

Introduction to .NET Core

.NET Core is an opensource, multiplatform version the .NET Framework which is officially supported and maintained by Microsoft.

This post will give an overview of how to run a .NET Core web project in Ubuntu, starting with its basic architecture and ending in the configuration of Kestrel for creating a web application.

.NET Core framework already provides scaffolding tools for bootstrapping your projects, but this time we’ll develop this from scratch starting from a basic console application.

Installing .NET Core on Linux

We’ll install .NET Core in Ubuntu, following Microsoft’s official website, but you can find installation instructions for most common distros. As a development IDE you can use any text editor, but we are going to use Visual Studio Code which, in my opinion, offers the best integration.

Creating my first “Hello world” in C # .NET Core

From the command console run these commands:

  • dotnet new console (to create a console project in .NET Core)
  • dotnet restore (to restore packages and project dependencies)
  • dotnet run (to execute our code).

Configuring Kestrel

Kestrel is a multi-platform web server used to host .NET Core web applications.

To add Kestrel to our project we must add the it’s dependencies to the .csproj file as follows:

Now we will open our Program.cs file and in it’s Main method replace the following lines:

For these lines:

In order to use Kestrel and the HTTP context we will have to add these references:

Now we need to add the Startup.cs .

Using Startup.cs

With the file Startup.cs we are going to configure for the project host.

By now our Startup.cs should be looking something like this:

The Configure method is called at runtime and it is used to configure and channel HTTP requests.

IApplicationBuilder provides the mechanisms for configuring application requests. The middleware is also configured here.

Next, we will configure the app to use IIS/IIS Express for the web server and set the content root. To do this we will add the following lines before the Build() in Program.cs :

To use IIS with ASP.NET Core, both UseKestrel and UseIISIntegration must be specified. Kestrel is designed to run behind a proxy and should not be deployed without it.

Now let’s add the IIS package reference in .csproj , and run dotnet restore for updating dependencies.

We will add “Watcher” to see the changes reflected without needing to stop and re-run the project. For that we are going to add the following dependency:

As always we will have to run dotnet restore , and now if we run dotnet watch run we should be able to see our changes being reflected without us having to reload out application.

Congratulations!

You already have your .Net Core application running on Linux and you learned how to configure it from scratch using Kestrel and develop it in a web environment. In the next post, I explain how to build an MVC architecture application using the tools provided by .Net Core.

Net core linux

ASP.NET Core is a fully open source, high-performance, and cross-platform framework. ASP.NET Core runs anywhere you need it to (Windows, Mac, Linux). If you compare hosting apps on Windows vs Linux, Linux hosting is usually cheaper. At the time of writing this post, you can find a cheap Linux VPS for as little as $3.5 a month.

In this article, we will be using Linux VPS, having CentOS 7 installed, ASP.Net Core 2.0 application and Nginx as the reverse proxy. I will try to cover most of the details for basic web hosting including some safety measures, this post might get a little long, bear with me, please. The hosting process is broken into following steps:

  1. Get Linux VPS Setup Linux Host
  2. Install .NET Core
  3. Deploying ASP.Net Core application
  4. Configure Nginx as the reverse proxy

Step 1. Setup Linux Host

You can pick any VPS provider of your choice and any distribution of Linux, in this post I am using a $3.5 CentOS 7 64-bit VPS with 1 CPU core and 1 GB Ram from RamNode(affiliate link). Why CentOS and why not any other distribution? CentOS is a free clone of Red Hat Enterprise Linux. It is considered more stable, secure and supports most of the control panels (including the most popular one — cPanel) so it is preferred distribution for businesses and in the hosting industry.

Once you get VPS, you will receive an IP and root password which you will use to connect to the VPS. You need an SSH client to connect to Linux VPS. There are free SSH clients available, SmartTTY and Putty are very common ones. I will be using SmartTTY for this demo.

Install and open SmartTTY and enter the IP, port, username, and password.

Click connect, it should open the terminal window:

Now that we have connected to the VPS via SSH, next we will configure the Linux host.

We could simply install .NET Core, Nginx and run the application, but it is strongly recommended to first follow some basic common practices of initial server setup to cover our bases. I will cover the bare minimum steps which you should do for each of the Linux servers. This will apply for some basic security protection on the server. For example, change the default root login, change default SSH port etc. If you are hosting your app just for fun, you can skip the rest of the configuration and jump directly to step 2 Install .NET Core.

Читать еще:  Кластеризация серверов linux

Change the default password for root. Use passwd command to change the default password provided by the VPS provider.

You will be asked to enter the password twice.

Create a new «Sudo» user. We will use this new user to login to the server from next time onwards, and disable root login because root is standard username hackers can easily guess.

  • Use the adduser command to add a new user, replace username with the user you want to create:
  • Use the passwd command to change the password for the user you created:

You will be prompted for a new password and confirm the password.

    Add user to wheel group by using the usermod command:

    In CentOS, by default members of wheel group have sudo privileges.

    Verify the new user has sudo access:
    Switch user by using «su» command

List the contents of /root directory, which is only accessible to root user.

You will be prompted to enter the account password, once you enter that, the command should run with root privileges.

Now we can use this new user to perform all tasks we could with root user. Just remember to add sudo to commands.

Change default SSH port, disable root login and allow the new user to login via SSH. SSH default port number is 22 and everybody knows it, including the hackers, it is not safe. Changing the default SSH port number is the basic step towards security, for production servers, in my opinion, the best way to protect SSH server is to implement password-less login using certificates and encryption. You can find many articles on how to implement password-less login into SSH server, I am going to focus on just changing the default port 22 to something else in this post. To change the SSH default port, we need to edit «sshd_config» file. You can use any editor of your choice, I am going to use Nano editor:
Install nano:

Eidt «sshd_config» file:

Find the following line:

Remove # symbol and change the default port 22 to something else, 20020 for example:

Remove the # symbol and change yes to no:

At the end of the file, add this line, obviously, replace the username with the user you created:

Save and close the file, do not exit the session yet, allow port 20020 on firewall first, otherwise, you will not be able to login into the VM.

Restart SSH service:

Allow port 20020 on the firewall:

If you get «firewall-cmd: command not found» error, install and enable firewalld and run the command again, here are the commands to just do that:

Reload firewall config:

Now you should be able to login into the VM using the new SSH port with the new user, and login for root user is disabled via SSH.

Step 2. Install .NET Core

Run following commands to install .NET Core in CentOS

Register the Microsoft signature key:

Add the dotnet product feed:

Install the .NET Core SDK and add dotnet to PATH:

Verify installation by running:

Step 3. Deploying ASP.NET Core application

I am going to use an existing application, publish it and copy that over to VPS. Publish the application by using the following command:

Copy the output contents over to the VPS using any SFTP or FTP tool. I am using WinSCP to copy the published code. You can run the application by using the dotnet command on the command prompt, you need a monitor to run it and keep it running. Let’s create a service for that:

Create the service definition file:

Add following content to the service file:

Now you need to enable the service and run it:

The status command should show the service as running if the configuration was correct. Now, our web application is running, kestrel by default listens on port 5000, so our application is available on http://localhost:5000.

Kestrel is good for serving dynamic content, but it is not a fully featured web-server. A reverse proxy server allows you to offload work like serving static content, cashing requests, compressing requests, and SSL termination from the HTTP server. In the next step, we will configure Nginx as the reverse proxy.

Step 4. Configure Nginx as Reverse Proxy

Almost all major Linux distro comes with Apache by default, since we are going to use Nginx only and Apache configuration might cause issues when Nginx is installed, we will turn Apache off. This will stop all the existing sites hosted in Apache. If you have any sites hosted in Apache. Since we do not have any site installed on Apache, we will stop and disable the Apache. Stop command will stop the Apache and disable command will make sure Apache does not start on next reboot:

Add Nginx repository, install Nginx, Start and Enable:

Enabling Nginx will make sure it is started on every reboot.

Check the status of Nginx service:

If you are running a firewall, run following commands to allow HTTP and HTTPS traffic:

You can verify right away that Nginx installed by browsing your server’s public IP address in any browser. E.g.

You should see a default Nginx page saying «Welcome to nginx». If you see this page, nginx is installed correctly.

I am changing the nginx config file directly, ideally, for production, you should create a separate config file. Open nginx config file:

Update the config file:

Verify and reload the config:

All set, now your website should be available when you type the IP of the server:

Have any questions, suggestions or feedback? Please leave a comment below.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×