Visual studio net core linux

Отладка .NET Core в Linux с помощью SSH путем присоединения к процессу

Начиная с Visual Studio 2017 можно присоединяться к процессам .NET Core, запущенным в локальном или удаленном развертывании Linux, по протоколу SSH. В этой статье описывается настройка и выполнение процесса отладки. Сценарии отладки с использованием контейнеров Docker см. в статьях Присоединение к процессу, выполняющемуся в контейнере Docker и об инструментах для работы с контейнерами. Сведения об отладке Linux в WSL 2 из Visual Studio (без присоединения к процессу) см. в этой статье.

Предварительные требования

На компьютере Visual Studio необходимо установить рабочую нагрузку ASP.NET и разработка веб-приложений или Кроссплатформенная разработка .NET Core.

На сервере Linux необходимо установить SSH-сервер (распакуйте и установите его с помощью curl или wget). Например, в Ubuntu это можно сделать, запустив:

Протокол SFTP должен быть включен так же, как и SSH. Большинство дистрибутивов SSH устанавливают и включают SFTP по умолчанию, но это не всегда так.

На сервере Linux установите среду выполнения .NET для Linux и найдите страницу, соответствующую вашему дистрибутиву Linux (например, Ubuntu). Пакет SDK для .NET не требуется.

Подготовка приложения к отладке

Подготовка приложения для отладки

При сборке приложения рассмотрите возможность использования конфигурации «Отладка». Отладка кода, скомпилированного для розничного выпуска (конфигурация «Выпуск»), намного сложнее, чем отладка кода, скомпилированного для отладочного выпуска. Если необходимо использовать конфигурацию «Выпуск», сначала отключите режим «Только мой код». Чтобы отключить этот параметр, последовательно выберите Сервис > Параметры > Отладка, а затем снимите флажок Включить только мой код.

Убедитесь, что проект настроен на создание переносимых PDB-файлов (параметр по умолчанию) и что PDB-файлы находятся в том же расположении, что и библиотека DLL. Чтобы выполнить эту настройку в Visual Studio, щелкните проект правой кнопкой мыши, затем выберите Свойства > Сборка > Дополнительно > Отладочная информация.

Создание и развертывание приложения.

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

Скопируйте источники на целевой компьютер и выполните сборку с помощью dotnet build на компьютере Linux.

Выполните сборку приложения в Windows, а затем перенесите артефакты сборки на компьютер Linux. (Артефакты сборки включают само приложение, переносимые PDB-файлы, любые библиотеки среды выполнения, от которых может зависеть приложение, и файл .deps.json.)

При развертывании приложения запустите приложение.

Подключение отладчика

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

В Visual Studio последовательно выберите пункты Отладка > Присоединиться к процессу. .

В списке Тип подключения выберите SSH.

В поле Цель подключения укажите IP-адрес или имя узла целевого компьютера.

Если вы еще не указали учетные данные, вам будет предложено ввести пароль и (или) указать файл закрытого ключа.

Настраивать порты не требуется, за исключением порта, на котором выполняется сервер SSH.

Найдите процесс, который нужно отладить.

Код выполняется в процессе с уникальным именем или в процессе с именем dotnet. Чтобы найти требуемый процесс, просмотрите столбец Заголовок, в котором отображаются аргументы командной строки для процесса.

Читайте также:  Windows importerror dll load failed

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

Выберите Присоединиться.

В появившемся диалоговом окне выберите тип кода для отладки. Выберите Управляемый (.NET Core для Unix) .

Используйте функции отладки Visual Studio для отладки приложения.

В следующем примере отладчик Visual Studio остановлен в точке останова в коде, выполняющемся на удаленном компьютере Linux.

Источник

ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code

Решил недавно написать небольшое ASP.Net MVC приложение после многолетнего перерыва и знающие люди на Хабре подсказали попробовать новый ASP.Net Core, тем более, что он работает в Линуксе из коробки без необходимости задействовать mono, и, судя по последним тестам, даже показывает неплохую производительность. За основу взял аналогичную статью для Mac, однако здесь в отличии от вдохновившей меня статьи хочу описать процесс пошагово в одном месте, для того, чтобы не пришлось лазить по перекрёстным ссылкам, пытаясь разобраться как установить непонятно для чего предназначенные приложения и пакеты. Такое подробное описание процесса возможно поможет многим избежать граблей, с которыми пришлось столкнуться мне. Несколько фраз и рисунков, в части одинаковой для любой платформы, с правками и корректировками взяты из статьи для Mac.

Установка .Net Core и Visual Studio Code

Приводимые здесь команды установки подходят для дистрибутивов Ubuntu 16.04/Mint 18.x, для остальных можно найти здесь.

Установка .Net Core:

Устанавливаем новейший на данный момент RC4 для совместимости с новейшим генератором проектов aspnet:

Установка Visual Studio Code

Устанавливается легко в пару кликов по этой ссылке.

Установка расширения C#

Запускаем Visual Studio Code, нажимаем Ctrl-P, вводим команду:
ext install csharp

В появившейся слева панели нажимаем «Установить» напротив соответствующего расширения, если это не произошло автоматически. Visual Studio Code можно пока закрыть.

Подготовка среды разработки и формирование шаблонов приложений

Устанавливаем новейший node.js с оригинального сайта (тот, что идёт с дистрибутивом не подходит), он нам нужен из-за менеджера пакетов npm, который идёт вместе с ним:
Для других дистрибутивов инструкция здесь.

Инициализация проекта

Для инициализации используется скаффолдер Yeoman — инициализатор проекта, включающий в себя развёртывание файловой структуры и генерацию шаблона проекта, т.е. исходного кода приложения. Включает в себя скаффолдер Yo, менеджер пакетов Bower и менеджер задач Grunt. При установке Yo вам будут установлены также Bower и Grunt. Здесь устанавливаем в любом терминале также новейший генератор aspnet, в котором возвращена система сборки msbuild вместо project.json:

Запуск генератора проекта

Примечание: При выборе пункта WebApplication будет создан шаблон приложения с авторизацией клиентов, где в качестве БД может использоваться SQLite (генератор выдаст соответствующие инструкции как это сделать). Если же вы захотите в качестве базы использовать что-нибудь покруче, то можно добавить поддержку PostgreSQL:

  • Установка: npm install -g generator-aspnetpostgresql
  • Генерация шаблона: yo aspnetpostgresql

Данный генератор основан на том же самом OmniSharp/generator-aspnet. Версия несколько устарела, поэтому для запуска нужно сначала выполнить dotnet migrate & dotnet restore — именно в таком порядке.

Your project is now created, you can use the following commands to get going
cd «WebApplicationBasic»
dotnet restore
dotnet build (optional, build will also happen with it’s run)
dotnet run

Восстановить и собрать можно, а вот запускать пока рано: нужно ещё кое что сделать.

Разработка приложений ASP.NET Core MVC на Linux с помощью Visual Studio Code

Теперь запустите Visual Studio Code.

Выберите пункт Файл → Отрыть папку и выберите папку, в которой Вы создали шаблон приложения ASP.NET Core MVC с помощью yo.

Читайте также:  Windows не может распознать видеокарту

При первом запуске Visual Studio Code выдаст предупреждение об отсутствии необходимых инструментов для сборки и отладки. Нажимаем Yes , чтобы добавить их. Без этого автоматическая отладка и сборка средствами Visual Studio Code будет недоступна, а только через терминал командами dotnet build и dotnet run .

В Терминале Visual Studio Code (Ctrl-`) выполните команду dotnet restore , чтобы восстановить зависимости проекта (если не сделали этого раньше). Другой способ — выполнить команду Ctrl-Shift-P в Visual Studio Code и затем ввести dot, как показано ниже (у меня почему-то не заработало):

Для тех, кто только приступает к использованию Visual Studio Code (или Code, для краткости), следует заметить, что данный продукт не только имеет удобный, простой и отзывчивый интерфейс, обеспечивающий быструю работу с файлами, но он также предоставляет инструменты для наиболее эффективного написания кода.

В левой панели навигации находятся пять значков, представляющие четыре viewlet:

  • Explore
  • Search
  • Git
  • Debug
  • Extensions

Explore viewlet позволяет быстро перемещаться по системе каталогов, а также облегчает обзор файлов, с которыми вы работаете. При наличии несохраненных изменений в файлах специальный значок на экране будет уведомлять об этом; упрощается процесс создания новых файлов и папок (для этого не надо открывать новое окно). Также удобно пользоваться командой Save All (Сохранить все), доступной в меню, которое появляется при наведении курсора мыши.

Code интегрируется с Git, если он установлен на вашем компьютере. При помощи Git viewlet можно создавать новые репозитории, подтверждать изменение кода, отправлять изменения.

Debug viewlet поддерживает интерактивную отладку приложений.

Кроме того, в редакторе Code есть множество замечательных функций. Вы увидите, что неиспользованные операторы using будут подчеркнуты и могут быть удалены автоматически при помощи Сtrl-. , если значок лампочки отображается на экране. Также можно видеть, сколько ссылок на классы и методы есть в проекте. Если вы переходить с Visual Studio, то вы можете использовать многие знакомые сочетания клавиш, например, Сtrl-K+C , чтобы закомментировать блок кода или Ctrl-K-U , чтобы раскомментировать его.

Запуск приложения при помощи Kestrel

Kestrel — это кросс-платформенный HTTP сервер, основанный на libuv — библиотеке асинхронного ввода-вывода. Для его установки нужно установить соответствующий пакет NuGet: Microsoft.AspNetCore.Server.Kestrel. Сделать это можно двумя способами:

  • Установив .Net Core Project Manager (Nuget) через viewlet Extensions (Расширения): Ctrl-Shift-P , набираем Nuget , ↵, затем Kestrel ↵ выбираем Microsoft.AspNetCore.Server.Kestrel
  • Через командную строку в терминале редактора vs code editor:

Всё, теперь можно запускать: нажимаем F5 или в терминале dotnet run , при этом автоматически запускается браузер с приложением по адресу: localhost:5000 . Чтобы остановить веб-сервер, нажмите Ctrl+C. Вот и всё, можете наслаждаться вашим первым приложением ASP.Net Core:

Источник

Часть 1.3 — Установка .NET Core в Linux

Применяется к: .NET Core 2.1, .NET Core 3.1, .NET 5

Цель этой части

В этой части вы узнаете, как установить .NET Core на Linux.

В этом разделе предполагается, что вы используете Ubuntu и используете средство командной строки APT для установки приложений.

Предварительные условия

В этой части предполагается, что вы знаете следующие процессы:

  • Запуск команд в качестве суперузера (корневого).
  • Установка приложений с помощью диспетчеров пакетов.

Если вы, по крайней мере, не знакомы с этими процессами, обратитесь к предыдущим частям перед продолжением.

Установка .NET Core

Для поддерживаемых версий .NET Core в различных дистрибутивах Linux см. в рублях Install .NET на Linux.

Читайте также:  Glob что это такое linux

В этой статье можно выбрать версию Linux для получения инструкций по распространению. Так как мы используем Ubuntu 18.04, мы будем следовать инструкциям из раздела «18.04» установки SDK .NETили времени запуска .NET на Ubuntu .

Начните с запуска следующих команд:

Первая команда — wget это команда. В соответствии со своей страницей справки, wget это не интерактивный сетевой загрузщик. Он загружает файлы с http-серверов в каталоге. Он может работать в фоновом режиме, даже если пользователь не вошел в систему. Эта команда загружает файл wget Packages-microsoft-prod.deb с packages.microsoft.com серверов текущего каталога.

Если мы запускаем команду после запуска, мы должны увидеть, что пакет ls wget загружается в текущем каталоге.

Во второй команде dpkg — диспетчер пакетов для Debian и Ubuntu. Эта команда добавляет ключ подписи пакета Майкрософт в список доверенных ключей, а затем добавляет репозиторий пакета.

Так как мы скачали и добавили новый репозиторий пакетов, диспетчеру пакетов необходимо знать об этом. Поэтому мы должны обновить диспетчер пакетов с помощью sudo apt update команды.

Теперь диспетчер пакетов знает репозиторий Microsoft, и мы можем продолжить установку.

Версии .NET Core

На момент написания статьи последняя версия .NET Core — 5.0. Рекомендуется установить последнюю версию. Однако следует также установить SDK .NET Core 3.1. Это необходимо, так как лаборатории устранения неполадок в этой серии статей предполагают, что вы используете BuggyAmb — приложение ASP.NET Core, которое мы используем для того, чтобы узнать, как устранить ASP.NET Core приложений. Текущая версия BuggyAmb — это .NET Core 3.1.

Различные версии этих приложений могут успешно работать бок о бок на одном компьютере.

Определение правильного имени пакета

В разделе «Установка других версий» в разделе Установка SDK .NET или .NET Runtime на Ubuntuпакеты .NET Core названы в формате — и имеют следующие условия:

  • Продукт — это dotnet илиaspnetcore. Обратите внимание, что aspnetcore также устанавливается при установке .NET Core.
  • Тип sdk илиruntime.
  • На момент написания статьи поддерживаемые версии .NET Core были 5.0, 3.1, 3.0 и 2.1.

Например, если вы хотите установить версию 5.0 ASP.NET Core, то продукт будет aspnetcore-runtime-5.0.

Так как для этой серии статей необходимо установить SDK .NET Core 3.1, имя пакета будет dotnet-sdk-3.1.

Вы должны знать, как установить пакеты с помощью APT. Если этого не сделать, обратитесь к предыдущим частям. Чтобы установить SDK .NET Core 3.1, запустите sudo apt install dotnet-sdk-3.1 .

Введите y и нажмите ввод. Диспетчер пакетов загружает и устанавливает как .NET Core, так и ASP.NET Core и SDKs.

Вы также можете установить SDK .NET 5.0, запуская sudo apt install dotnet-sdk-5.0 команду.

Теперь проверьте установку времени запуска и SDKs с помощью dotnet —info запуска. На следующем скриншоте показано, что время запуска .NET Core 3.1 и 5.0 и SDKs устанавливаются бок о бок.

Как .NET Core, так и ASP.NET Core время запуска устанавливаются вместе с SDK .NET Core. Если вы изучите папку SDK при запуске, вы также увидите обе ll /usr/share/dotnet/sdk версии.

В настоящее время установлены SDKs и время запуска .NET Core. В следующей части мы создадим приложение ASP.NET Core с помощью средств CLI .NET.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

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

Источник

Оцените статью