Green-sell.info

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

Dotnet core linux

.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 ГБ свободного места)

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

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

Всё взаимодействие с .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

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

Читать еще:  Как убрать vpn ошибку в хамачи

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

Теперь перейдем к самому главному — установка 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? Напишите в комментариях!

Как установить 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 с помощью команд:

Читать еще:  Установка сервера на linux

На 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.

Как запустить 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 среду. Которая и будет запускать нашу сборку.

Читать еще:  Odbc ini linux

Согласно официальной документации там же можно найти другие сборки под 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, который ставиться невероятно просто.

Зачем .net core для Linux создаёт exe file ?

Перешёл с 2.2 на 3 вылезло куча непонятных траболов. Потихоньку разгребаю.

Конфигурация сборки linux-x64

При компиляции получаю кроме dll ещё и файл exe. Кто знает зачем он для linux?

Развернуть ASP.NET Core 2.0 приложение на Linux хостинг
Собственно асп.нет стандартные приложения я выкладывал на бесплатном somee.com. Решил попробовать.

Несколько приложений ASP.NET Core на одном сервере Linux
Несколько приложений ASP.NET Core на одном сервере Linux.

Asp.net core на linux используя apache получаю Error 403
Доброго времени суток. Написал сайт на asp.net core (2.1) и пытаюсь развернуть его на linux.

Deploy ASP.NET CORE MVC приложения на APACHE сервере в облаке Linux ubuntu
Кто сталкивался с развёртыванием CORE на Apache? Какие надстройки нужно сделать ?

Что-то нет ясности, зачем там два файла.
Получаем два файла .dll и executable . Зачем два файла?
dll — это родной для Windows Portable Executabe файл (PE-файл).
executable — это линуксовый ELF ( Executable and Linkable Format ) .

sau, там по ссылке не нашел ответ

Если с ELF понятно, то что делает Windows DLL на линуксе ?

А-а, dll наверно это промежуточный продукт.
ELF это уже конечный продукт . ну наверно так .

Добавлено через 1 минуту

запускаю как ?
двойным кликом ?

в терминале ./app_name ?

Добавлено через 1 минуту

Во время выполнения команды dotnet build или dotnet publish создается исполняемый файл, который соответствует среде и платформе используемого пакета SDK. Предполагается, что с этими исполняемыми файлами можно выполнять те же действия, что и с другими исполняемыми файлами в машинном коде, например:
исполняемый файл можно дважды щелкнуть;
приложение можно запустить из командной строки напрямую, например myapp.exe в Windows и ./myapp в Linux и macOS.

+ фича «Однофайловые исполняемые файлы»

dll запускаю под линуксом как оно всегда и запускалось

По поводу exe — меня смущает размер. он в 2 раза меньше чем у dll — примерно 300k — dll 150k — exe

По linux не пробовал запускать exe. Может и заработает. Надо будет переписывать серверные конфиги старта службы.

P.S. в 2.2 для линукса exe не генерировалась.

P.S.S. может они в exe dotnet запихнули?

Добавлено через 4 минуты

По поводу dll — я определил что это для линукс потому как он там заработал.

В своё время экспериментировал — делал dll для win и для nix

Так вот не на своей платформе не запускалось — вылетало с ошибками.

Запуск разумеется был таким dotnet xxx.dll

эти dll ни для windows ни для linux , они для платформы net , содержат промежуточный IL код исполняемый CLR
но который соответствует среде и платформе используемого пакета SDK

Добавлено через 3 минуты

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Можно ли использовать библиотеки написанные на .net Core для .net FW
Можно ли подключить библиотеку написанную на .net Core к WinForm приложению написанному на .net FW.

Подойдет ли .NET Core 1.0 (RC2) для разработки cоциальной сети на ASP.NET?
Добрый день. У меня есть идея одна по написаю одной социальной сети. Как вы думаете подойдет.

Сборка .NET Core проекта в VS2017 в exe
Здравствуйте, подскажите, при сборке проекта типа .NET Core создаётся не исполняемое приложение.

Библиотека NETSquirrel для .NET и .NET Core — формат вывода индексаторов
Предположим, что мы выводим через AutoPrintLine все поля, свойства и индексаторы экземпляра.

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