Asp net core mac os

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

Представляем вам последнюю статью из цикла по разработке на ASP.NET Core. В данной статье вы узнаете как можно написать свое первое приложение ASP.NET Core на Mac.

Первый цикл статей по ASP.NET Core

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

Для начала вам необходимо загрузить и установить .NET Core и Visual Studio Code с расширением C#.

Проект ASP.NET Core, необходимо создать по этой инструкции.

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

Запустите Visual Studio Code.

Выберите пункт File → Open и перейдите к пустому приложению ASP.NET Core.

В Терминале или оболочке bash выполните команду dotnet restore , чтобы восстановить зависимости проекта. Другой способ — выполнить команду command shift p в Visual Studio Code и затем ввести dot , как показано ниже:

Можно выполнять команды прямо в Visual Studio Code, в том числе dotnet restore и использовать другие инструменты, указанные в файле project.json, а также выполнять задачи, указанные в файле .vscode/tasks.json.

Этот пустой шаблон проекта просто отображает «Hello World!». Откройте Startup.cs в Visual Studio Code, чтобы посмотреть, как он сконфигурирован:


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

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

  • Explore
  • Search
  • Git
  • Debug
  • Extensions

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

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

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

Кроме того, в редакторе Code есть множество замечательных функций. Вы увидите, что неиспользованные операторы using будут подчеркнуты и могут быть удалены автоматически при помощи command . , если значок лампочки отображается на экране. Также можно видеть, сколько ссылок на классы и методы есть в проекте. Если вы переходить с Visual Studio, то вы можете использовать многие знакомые сочетания клавиш, например, command k c , чтобы закомментировать блок кода или command k u , чтобы раскомментировать его.

Читайте также:  Как посмотреть порты для windows

Локальный запуск при помощи Kestrel

В данном примере мы используем Kestrel в качестве веб-сервера. Его конфигурация хранится в файле project.json, в котором он указан как зависимость.

  • Выполните команду dotnet run , чтобы запустить приложение.
  • Введите в адресной строке localhost:5000 .
  • Чтобы остановить веб-сервер, нажмите Ctrl+C .

Публикация в Azure

После создания приложения можно использовать интеграцию с Git, встроенную в Visual Studio Code, для отправки обновлений в Microsoft Azure.

Инициализация Git

Инициализируйте Git в папке, в которой вы работаете. Нажмите на Git viewlet, затем нажмите на кнопку Initialize Git repository .

Добавьте сообщение подтверждения и нажмите enter, или нажмите на «галочку», чтобы подтвердить файлы.

Git отслеживает изменения, поэтому если вы обновили файл, Git viewlet отобразит файлы, которые изменены с момента последнего подтверждения.

Инициализация веб-сайта Azure

Развернуть приложение в Azure Web Apps можно при помощи Git.

  • Создайте новое веб-приложение в Azure. Если у вас нет учетной записи в Azure, вы можете создать бесплатную пробную учетную запись.
  • Включите для веб-приложения в Azure поддержку непрерывного развертывания при помощи Git.

Запишите URL Git для веб-приложения на портале Azure:

В окне Терминала добавьте удаленный репозиторий azure с URL-адресом Git, который вы записали ранее.

Чтобы развернуть приложение, отправьте его в репозиторий master.


Откройте в браузере только что развернутое приложение. Должна отобразиться надпись Hello World !

Источник

Начало работы с ASP.NET Core

Visual Studio для Mac упрощает разработку службы приложения благодаря поддержке самой новой платформы веб-разработки ASP.NET Core. Платформа ASP.NET Core выполняется на базе .NET Core — современного результата развития платформы .NET Framework и среды разработки. Она рассчитана на высокую производительность и небольшие размеры установки, а также переработана для запуска в Linux, macOS и Windows.

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

.NET Core 3.1 автоматически устанавливается при установке Visual Studio для Mac. Дополнительные сведения о версиях .NET Core, поддерживаемых в Visual Studio для Mac, см. в статье Поддержка .NET Core.

Создание приложения ASP.NET Core в Visual Studio для Mac

Откройте Visual Studio для Mac. На начальном экране выберите Создать проект.

Отображается диалоговое окно «Новый проект», где можно выбрать шаблон для создания приложения.

Существует несколько проектов с готовым шаблоном для создания приложения ASP.NET Core. Эти особые значения приведены ниже.

  • .NET Core > Пусто
  • .NET Core > API
  • .NET Core > Веб-приложение
  • .NET Core > Веб-приложение (модель — представление — контроллер)
  • .NET Core > Серверное приложение Blazor
  • .NET Core > Приложение Blazor WebAssembly
Читайте также:  Ultraiso не видит windows all

Выберите Пустое веб-приложение ASP.NET Core и нажмите кнопку Далее. Присвойте проекту имя и нажмите кнопку Создать. Будет создано приложение ASP.NET Core. В левой области окна решения разверните вторую стрелку и выберите файл Startup.cs. Он должен выглядеть, как на рисунке ниже.

Пустой шаблон ASP.NET Core создает веб-приложение с двумя файлами по умолчанию: Program.cs и Startup.cs, которые описаны ниже. Оно также создает папку «Зависимости», содержащую зависимости пакета NuGet для проекта, такие как ASP.NET Core, платформа .NET Core и целевые объекты MSBuild, используемые при сборке проекта:

Program.cs

Откройте и просмотрите файл Program.cs в проекте. Обратите внимание, что в методе Main — входе в приложение выполняются несколько операций:

Приложение ASP.NET Core создает в основном методе веб-сервер, настраивая и запуская узел с помощью экземпляра WebHostBuilder . Этот построитель предоставляет методы, позволяющие настроить узел. В приложении-шаблоне используются следующие конфигурации:

  • .UseStartup () . указывает класс Startup.

Тем не менее вы можете добавить дополнительные конфигурации, такие как:

  • UseKestrel . указывает, что приложением будет использоваться сервер Kestrel.
  • UseContentRoot(Directory.GetCurrentDirectory()) . использует корневую папку веб-проекта в качестве корня содержимого приложения при запуске приложения из этой папки.
  • .UseIISIntegration() . указывает, что приложение должно работать с IIS. Чтобы использовать IIS с ASP.NET Core, нужно указать как UseKestrel , так и UseIISIntegration .

Startup.cs

Класс Startup для вашего приложения указывается в методе UseStartup() для CreateWebHostBuilder . Именно в этом классе вы укажете конвейер обработки запросов и настроите службы.

Откройте и просмотрите файл Startup.cs в проекте:

Этот класс Startup всегда должен соответствовать следующим правилам:

  • Он всегда должен быть открытым.
  • Он должен содержать два открытых метода: ConfigureServices и Configure .

Метод ConfigureServices определяет службы, которые будут использоваться приложением.

Configure позволяет создать конвейер запросов с помощью ПО промежуточного слоя. Эти компоненты используются в конвейере приложения ASP.NET для обработки запросов и откликов. Конвейер HTTP состоит из нескольких делегатов запросов, вызываемых по очереди. Каждый из делегатов может определить, обработать ли запрос самостоятельно либо передать его в следующий делегат.

Делегаты можно настроить с помощью методов Run , Map и Use для IApplicationBuilder , но метод Run никогда не вызывает следующий делегат и должен всегда находиться в конце конвейера.

Метод Configure предварительно созданного шаблона используется для выполнения нескольких действий. Во-первых, он настраивает страницу обработки исключений для использования во время разработки. Кроме того, он отправляет отклик запрашивающей веб-странице с простым кодом «Hello World».

Этот простой проект «Hello World» может выполняться без добавления дополнительного кода. Чтобы запустить приложение, можно выбрать нужный браузер в раскрывающемся списке справа от кнопки воспроизведения или просто нажать кнопку воспроизведения (треугольная), чтобы использовать браузер по умолчанию:

Читайте также:  Canon mp280 сканер windows 10

Для запуска веб-проекта Visual Studio для Mac использует случайный порт. Чтобы узнать, что это за порт, откройте выходные данные приложения, указанные в разделе Вид > Другие окна. Они должны иметь приблизительно следующий вид:

После запуска проекта веб-браузер по умолчанию должен запуститься и подключиться к URL-адресу, указанному в выходных данных приложения. Или вы можете открыть браузер по своему выбору и ввести http://localhost:5000/ , заменив 5000 на порт, указанный Visual Studio в выходных данных приложения. Должен отображаться текст Hello World! :

Добавление контроллера

Приложения ASP.NET Core используют конструктивный шаблон модель-представление-контроллер (MVC), чтобы обеспечить логическое разделение обязанностей для каждой из частей приложения. Шаблон разработки MVC состоит из следующих концепций:

  • Модель: класс, представляющий данные приложения.
  • Вид: отображает пользовательский интерфейс приложения (который часто является данными модели).
  • Контроллер: класс, который обрабатывает запросы браузера, реагирует на ввод данных пользователем и взаимодействие с ним.

Дополнительные сведения об использовании MVC см. в руководстве с обзором MVC ASP.NET Core.

Чтобы добавить контроллер, сделайте следующее:

Щелкните имя проекта правой кнопкой мыши и выберите команду Добавить > Новые файлы. Выберите Общие > Пустой класс и введите имя контроллера:

Добавьте в новый контроллер следующий код:

Добавьте зависимость Microsoft.AspNetCore.Mvc в проект, щелкнув правой кнопкой мыши папку Зависимости и выбрав пункт Добавить пакет.

Используйте поле поиска, чтобы перейти к библиотеке NuGet для Microsoft.AspNetCore.Mvc , и выберите Добавить пакет. Установка может занять несколько минут, кроме того, вам может быть предложено принять различные лицензии для требуемых зависимостей:

В классе Startup удалите лямбда-выражение app.Run и задайте используемую MVC логику маршрутизации URL-адресов, чтобы определить, какой код нужно вызывать следующим:

Не забудьте удалить лямбда-выражение app.Run , так как оно переопределяет логику маршрутизации.

Чтобы определить запускаемый код, MVC использует следующий формат:

Добавляя приведенный выше фрагмент кода, вы указываете приложению использовать по умолчанию контроллер HelloWorld и метод действия Index .

Добавьте вызов services.AddMvc(); для метода ConfigureServices , как показано ниже:

Вы также можете передать сведения о параметрах из URL-адреса в контроллер.

Добавьте в HelloWorldController другой метод, как показано ниже:

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

Если перейти по адресу http://localhost:xxxx/HelloWorld/Xamarin?name=Amy (заменив xxxx на правильный порт), вы должны увидеть следующее:

Устранение неполадок

Если требуется установить .NET Core вручную в macOS 10.12 (Sierra) и более поздней версии, сделайте следующее.

Прежде чем начать установку .NET Core, убедитесь, что установлены все обновления ОС до последней стабильной версии. Это можно сделать, перейдя в приложение App Store и открыв вкладку обновлений.

Выполните действия, указанные на сайте .NET Core.

Убедитесь, что все шаги выполнены успешно, чтобы обеспечить правильную установку .NET Core.

Источник

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