- Отладка .NET Core в Linux с помощью SSH путем присоединения к процессу
- Предварительные требования
- Подготовка приложения к отладке
- Создание и развертывание приложения.
- Подключение отладчика
- Публикация веб-приложения ASP.NET Core в службе приложений на Linux с помощью Visual Studio
- Предварительные требования
- Публикация в службе приложений Azure в Linux
- Очистка ресурсов
- Следующие шаги
- ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code
- Установка .Net Core и Visual Studio Code
- Установка .Net Core:
- Установка Visual Studio Code
- Установка расширения C#
- Подготовка среды разработки и формирование шаблонов приложений
- Инициализация проекта
- Запуск генератора проекта
- Разработка приложений ASP.NET Core MVC на Linux с помощью Visual Studio Code
- Запуск приложения при помощи Kestrel
Отладка .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. Чтобы найти требуемый процесс, просмотрите столбец Заголовок, в котором отображаются аргументы командной строки для процесса.
В следующем примере показан список процессов на удаленном компьютере Linux, подключенных по протоколу SSH, отображаемых в диалоговом окне Присоединение к процессу.
Выберите Присоединиться.
В появившемся диалоговом окне выберите тип кода для отладки. Выберите Управляемый (.NET Core для Unix) .
Используйте функции отладки Visual Studio для отладки приложения.
В следующем примере отладчик Visual Studio остановлен в точке останова в коде, выполняющемся на удаленном компьютере Linux.
Источник
Публикация веб-приложения ASP.NET Core в службе приложений на Linux с помощью Visual Studio
Начиная с Visual Studio 2017 версии 15.7 вы можете публиковать приложения ASP.NET Core в службе приложений Azure для Linux (с использованием контейнеров) с помощью одного из следующих методов.
Для непрерывного (или автоматического) развертывания приложений используйте Azure DevOps с Azure Pipelines.
Для однократного развертывания (или развертывания вручную) используйте средство публикации в Visual Studio, чтобы публиковать приложения ASP.NET Core в службе приложений для Linux (с помощью контейнеров).
В этой статье описывается использование средства публикации для однократного развертывания.
Предварительные требования
- Visual Studio 2019, установленная с соответствующими рабочими нагрузками для выбранного языка:
- ASP.NET: ASP.NET и разработка веб-приложений
- Visual Studio 2017, установленная с соответствующими рабочими нагрузками для выбранного языка:
- ASP.NET: ASP.NET и разработка веб-приложений
Подписка Azure. Если у вас еще нет подписки, подпишитесь на бесплатную версию, которая включает кредит в размере 200 USD на 30 дней и 12 месяцев доступа к популярным бесплатным службам.
ASP.NET Core. Следуйте инструкциям из статьи Краткое руководство. Создание первого веб-приложения ASP.NET Core с помощью Visual Studio или выполните описанные ниже действия.
На начальном экране Visual Studio 2019 выберите Создать проект. Если окно запуска не открыто, выберите Файл > Окно запуска. В поле поиска введите веб-приложение, укажите C# в качестве языка, выберите ASP.NET Core Web Application (Model-View-Controller) (Веб-приложение ASP.NET Core (модель — представление — контроллер)) и щелкните Далее. На следующем экране присвойте проекту имя MyASPApp и нажмите кнопку Далее.
Выберите рекомендуемую версию целевой платформы (.NET Core 3.1) или .NET 5 и щелкните Создать.
В Visual Studio 2017 выберите Файл > Создать проект, а затем щелкните Visual C# > .NET Core и выберите Веб-приложение ASP.NET Core. При появлении запроса выберите шаблон Веб-приложение (модель-представление-контроллер), убедитесь, что выбран параметр Без проверки подлинности, после чего нажмите кнопку ОК.
Прежде чем выполнять действия по развертыванию, выполните сборку проекта с помощью команды Сборка > Построить решение.
Публикация в службе приложений Azure в Linux
В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Опубликовать (или воспользуйтесь командой меню Сборка > Опубликовать).
Если ранее вы настроили какие-либо профили публикации, появится окно Опубликовать. Нажмите кнопку Создать.
В окне Публикация выберите Azure.
Выберите Служба приложений Azure (Linux) и нажмите кнопку Далее.
При необходимости выполните вход с использованием своей учетной записи Azure. Выберите Создание новой службы приложений Azure.
В диалоговом окне Создание службы приложений Azure (Linux) необходимо заполнить поля Имя приложения, Группа ресурсов и План службы приложений. Вы можете сохранить эти имена или изменить их. Когда все будет готово, щелкните Создать.
В диалоговом окне Публикация вновь созданный экземпляр выбирается автоматически. Когда все будет готово, нажмите кнопку Готово.
Нажмите Публиковать. Visual Studio выполнит развертывание приложения в службе приложений Azure, после чего веб-приложение будет загружено в браузер. В панели Опубликовать для свойств проекта будут отображаться URL-адрес сайта и другие сведения.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы не планируете использовать эти ресурсы в будущем, вы можете удалить их, удалив саму группу ресурсов. В меню слева на портале Azure выберите Группы ресурсов, после чего щелкните myResourceGroup. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.
Следующие шаги
Из этого краткого руководства вы узнали, как использовать Visual Studio, чтобы создать профиль публикации для развертывания в службе приложений на Linux. Ознакомьтесь с дополнительными материалами, посвященными публикации в Linux с использованием Azure.
Источник
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.
При первом запуске 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:
Источник