.NET Core — это кроссплатформенное ПО от Microsoft для разработки приложений разных типов:
- мобильных и классических,
- веб-приложений,
- служб Windows,
- консольных программ,
- веб-API,
- микрослужб и т.д.
Чтобы настроить .NET Core, нужно использовать Windows-хостинг. Обратите внимание: .NET Core не поддерживается на хостинге Linux.
Как настроить хостинг перед запуском приложения
Перед запуском приложения внесите настройки в конфигурационный файл web.config: выберите режим и укажите данные приложения.
Содержимое конфигурационного файла зависит от системных требований приложения. Существует два режима запуска:
- зависимый от среды — включает в себя само приложение и его зависимости;
- автономный — помимо приложения и зависимостей содержит среду выполнения и библиотеки .NET.
Конфигурационный файл должен иметь структуру, как в примерах ниже. Вам остается заполнить данные приложения в секции handlers.
Запуск ASP.NET MVC сайта на локальном IIS сервере
- режим, зависимый от среды:
- автономный режим:
Как исправить ошибку запуска
После выхода модуля AspNetCoreModuleV2 появилось ограничение: на один пул приложений поддерживается только одно приложение (подробнее на сайте Microsoft). Если ограничение не соблюдается, при запуске .NET Core можно столкнуться с ошибкой:
HTTP Error 500.0 — ANCM In-Process Handler Load Failure
Существует три способа решения. Выберите подходящий вам способ:
Изменить версию модуля
В web.config в блоке handlers хранится версия модуля AspNetCoreModuleV2:
Замените текст блока на следующий. В нём указана версия AspNetCoreModule:
Добавить трансформацию
Откройте файл приложения в VisualStudio. Затем в блоке PropertyGroup добавьте строки:
Добавить трансформацию для работы модуля вне процесса
Откройте файл приложения в VisualStudio. Затем в блоке PropertyGroup добавьте строку:
Как включить логи приложения
Чтобы включить логи:
2. В конфигурационном файле web.config укажите статус true для следующей строки:
stdoutLogEnabled=«true»
Затем сохраните изменения.
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом
Источник: 2domains.ru
Команда dotnet
dotnet — универсальный драйвер для интерфейса командной строки .NET (CLI).
Краткий обзор
Чтобы получить сведения о среде и доступных командах, выполните следующие действия:
dotnet [—version] [—info] [—list-runtimes] [—list-sdks] dotnet -h|—help
Выполнение команды (требуется установка пакета SDK):
ОШИБКА — Для запуска этого приложения сначала необходимо установить одну из версий NET framework
dotnet [-d|—diagnostics] [-h|—help] [—verbosity ] [command-options] [arguments]
dotnet [—additionalprobingpath ] [—additional-deps ] [—fx-version ] [—roll-forward ] [arguments] dotnet exec [—additionalprobingpath] [—additional-deps ] [—depsfile ] [—fx-version ] [—roll-forward ] [—runtimeconfig ] [arguments]
Описание
Команда dotnet выполняет две функции:
- Она предоставляет команды для работы с проектами .NET. Например, команда dotnet build выполняет построение проекта. Каждая команда определяет свои параметры и аргументы. Все команды поддерживают параметр —help , позволяющий вывести краткую справку по их использованию.
- Она запускает приложения .NET. Для запуска приложения необходимо указать путь к его файлу .dll . Чтобы запустить приложение, необходимо найти и выполнить точку входа, которая в случае использования консольных приложений является методом Main . Например, команда dotnet myapp.dll запускает приложение myapp . Дополнительные сведения о параметрах развертывания см. в статье Развертывание приложений .NET.
Параметры
Доступны различные варианты для:
- Отображение сведений о среде.
- Выполнение команды.
- Запуск приложения.
Параметры отображения сведений о среде и доступных команд
Следующие параметры доступны, если dotnet используется сам по себе, без указания команды или приложения для запуска. Например, dotnet —info или dotnet —version . Выводит сведения о среде.
- —info Выводит подробные сведения об установке .NET и среде компьютера, например текущую операционную систему и фиксацию SHA версии .NET.
- —version
Выводит версию пакета SDK для .NET, используемого командами dotnet , на которую может повлиять файл global.json . Доступно только при установке пакета SDK.
- —list-runtimes Выводит список установленных сред выполнения .NET. Версия x86 пакета SDK содержит только среды выполнения x86, а в версии x64 пакета SDK содержатся только среды выполнения x64.
- —list-sdks Выводит список установленных пакетов SDK для .NET.
- -?|-h|—help Выводит список доступных команд.
Параметры выполнения команды
Для dotnet с командой доступны следующие параметры. Например, dotnet build —help или dotnet build —verbosity diagnostic .
- -d|—diagnostics Включает вывод диагностических данных.
- -v|—verbosity Задает уровень детализации команды. Допустимые значения: q[uiet] , m[inimal] , n[ormal] , d[etailed] и diag[nostic] . Поддерживается не во всех командах. Дополнительные сведения см. на странице соответствующей команды.
- -?|-h|—help Выводит документацию по заданной команде. Например, dotnet build —help отображает справку по команде build .
- command options Для каждой команды определяются относящиеся к ней параметры. Список доступных для команды параметров можно просмотреть на соответствующей ей странице.
Параметры запуска приложения
При запуске приложения в dotnet доступны следующие параметры. Например, dotnet —roll-forward Major myapp.dll .
- —additionalprobingpath Путь, содержащий политику проверки и проверяемые сборки. Повторите этот параметр, чтобы указать несколько путей.
- —additional-deps Путь к дополнительному файлу .deps.json. Файл deps.json содержит список зависимостей, зависимости компиляции и сведения о версии, используемые для устранения конфликтов сборок. Дополнительные сведения см. в разделе Файлы конфигурации среды выполнения на GitHub.
- —roll-forward ** Управляет применением наката к приложению. SETTING может иметь одно из следующих значений. Если тип не указан, по умолчанию используется вариант Minor .
- LatestPatch — накат до версии с наибольшим номером исправления. Отключает накат дополнительных версий.
- Minor — накат до дополнительной версии со следующим по порядку возрастания номером, если запрошенная дополнительная версия отсутствует. Если запрошенная дополнительная версия присутствует, используется политика LatestPatch.
- Major — накат до основной версии со следующим по порядку возрастания или дополнительной версии с наименьшим номером, если запрошенная дополнительная версия отсутствует. Если запрошенная основная версия присутствует, используется политика Minor.
- LatestMinor — накат до дополнительной версии с наибольшим номером, даже если запрошенная дополнительная версия присутствует. Предназначен для сценариев размещения компонентов.
- LatestMajor — накат до основной версии с наибольшим номером и дополнительной версии с наибольшим номером, даже если запрошенная основная версия присутствует. Предназначен для сценариев размещения компонентов.
- Disable — накат не выполняется. Привязка только к указанной версии. Эта политика не рекомендуется для общего использования, поскольку отключает возможность наката до последних исправлений. Это значение рекомендуется использовать только для тестирования.
Все параметры, кроме параметра Disable , будут использовать версию с последним доступным исправлением.
Поведение наката также можно настроить в свойствах файла проекта, файла конфигурации среды выполнения и переменной среды. Дополнительные сведения см. в разделе Накат основной версии среды выполнения.
Параметры запуска приложения с exec помощью команды
Следующие параметры доступны только при dotnet запуске приложения с помощью exec команды . Например, dotnet exec —runtimeconfig myapp.runtimeconfig.json myapp.dll .
- —depsfile Путь к файлу deps.json. Файл конфигурации deps.json содержит информацию о зависимостях, необходимых для выполнения приложения. Этот файл создается пакетом SDK для .NET.
- —runtimeconfig Путь к файлу runtimeconfig.json. Файл runtimeconfig.json содержит параметры времени выполнения и обычно называется . Дополнительные сведения см. в статье Параметры конфигурации среды выполнения .NET.
Команды dotnet
Общее
dotnet build | Выполняет сборку приложения .NET. |
dotnet build-server | Взаимодействует с серверами, запущенными сборкой. |
dotnet clean | Очищает выходные данные сборки. |
dotnet exec | Запускает приложение .NET. |
dotnet help | Выводит более подробную документацию из Интернета для команды. |
dotnet migrate | Переносит допустимый проект предварительной версии 2 в проект пакета SDK .NET Core 1.0. |
dotnet msbuild | Обеспечивает доступ к командной строке MSBuild. |
dotnet new | Инициализирует проект C# или F# для заданного шаблона. |
dotnet pack | Создает пакет NuGet с кодом. |
dotnet publish | Публикует платформозависимое или автономное приложение .NET. |
dotnet restore | Восстанавливает зависимости для данного приложения. |
dotnet run | Запускает приложение из источника. |
dotnet sdk check | Отображает актуальное состояние установленного пакета SDK и версий среды выполнения. |
dotnet sln | Параметры для добавления, удаления и перечисления проектов в файле решения. |
dotnet store | Сохраняет сборки в хранилище пакетов среды выполнения. |
dotnet test | Выполняет тесты с помощью средства запуска тестов. |
Ссылки на проекты
dotnet add reference | Добавляет ссылку на проект. |
dotnet list reference | Перечисляет ссылки на проекты. |
dotnet remove reference | Удаляет ссылку на проект. |
Пакеты NuGet
dotnet add package | Добавляет пакет NuGet. |
dotnet remove package | Удаляет пакет NuGet. |
Команды NuGet
dotnet nuget delete | Удаляет пакет с сервера или из списка. |
dotnet nuget push | Отправляет пакет на сервер и публикует его. |
dotnet nuget locals | Очищает или перечисляет локальные ресурсы NuGet в кэше HTTP-запросов, временном кэше или папке пакетов, используемой на уровне компьютера. |
dotnet nuget add source | Добавляет источник NuGet. |
dotnet nuget disable source | Отключает источник NuGet. |
dotnet nuget enable source | Включает источник NuGet. |
dotnet nuget list source | Перечисляет все настроенные источники NuGet. |
dotnet nuget remove source | Удаляет источник NuGet. |
dotnet nuget update source | Обновляет источник NuGet. |
Команды рабочей нагрузки
dotnet workload install | Устанавливает дополнительную рабочую нагрузку. |
dotnet workload list | Выводит список установленных рабочих нагрузок. |
dotnet workload repair | Восстанавливает все установленные рабочие нагрузки. |
dotnet workload search | Вывод списка выбранных рабочих нагрузок или всех доступных рабочих нагрузок. |
dotnet workload uninstall | Удаляет рабочую нагрузку. |
dotnet workload update | Переустанавливает все установленные рабочие нагрузки. |
Команды глобального, установочного и локального средства
Средства — это консольные приложения, которые устанавливаются из пакетов NuGet и вызываются из командной строки. Вы можете писать средства самостоятельно или устанавливать средства, написанные другими. Средства также называются глобальными средствами, средствами пути к средству и локальными средствами. Дополнительные сведения см. в обзоре средств .NET.
dotnet tool install | Устанавливает средство на компьютере. |
dotnet tool list | Выводит все глобальные, установочные и локальные средства, установленные на компьютере. |
dotnet tool search | Ищет в NuGet.org средства, в названии или метаданных которых есть указанный поисковый запрос. |
dotnet tool uninstall | Удаляет средство с компьютера. |
dotnet tool update | Обновляет средство, установленное на компьютере. |
Дополнительные средства
В составе пакета SDK для .NET доступны следующие дополнительные средства:
dev-certs | Создает сертификаты разработки и управляет ими. |
ef | Средства командной строки для Entity Framework Core. |
user-secrets | Управляет секретами пользователей для разработки. |
watch | Наблюдатель за файлами, который перезапускает или перезагружает приложение при обнаружении изменений в исходном коде. |
Дополнительные сведения о каждом средстве можно получить с помощью команды dotnet —help .
Примеры
Создание нового консольного приложения .NET:
dotnet new console
Сборка проекта и его зависимостей в указанном каталоге:
dotnet build
dotnet exec myapp.dll
dotnet myapp.dll
Источник: learn.microsoft.com
Веб-сервер Kestrel в приложении ASP.NET Core
ASP.NET Core представляет собой кроссплатформенный фреймворк. Это значит, что он поддерживает запуск приложений в различных типах операционных систем, таких как Windows, Linux или Mac.
Kestrel — это кроссплатформенный веб-сервер для приложения ASP.NET Core. Это означает, что этот сервер поддерживает все платформы и версии, которые поддерживает ASP.NET Core. По умолчанию он включен в качестве внутреннего веб-сервера в приложение NET Core.
Веб-сервер Kestrel обычно используется в качестве «пограничного сервера», то есть веб-сервера, подключенного к Интернету, который непосредственно обрабатывает входящий HTTP-запрос от клиента. В случае веб-сервера Kestrel имя процесса, которое используется для размещения и запуска приложения ASP.NET Core, называется dotnet.exe .
Вероятно многие из вас использовали Visual Studio для запуска приложения ASP.NET Core. По умолчанию Visual Studio использует IIS Express для размещения и запуска приложения ASP.NET Core. Таким образом, процесс называется IIS Express, который мы уже обсуждали в предыдущей статье. Мы также можем запустить приложение ASP.NET Core из командной строки, используя .NET Core CLI. CLI обозначает интерфейс командной строки.
Как запустить приложение .NET Core с помощью .NET Core CLI?
Когда мы запускаем приложение ASP.NET Core с помощью CLI .NET Core, тогда среда выполнения .NET Core использует Kestrel в качестве веб-сервера. .NET Core CLI (интерфейс командной строки) — это кроссплатформенный инструмент, который используется для разработки приложений ASP.NET на различных платформах, таких как Windows, Mac или Linux.
Откройте командную строку и введите dotnet — и нажмите Enter, как показано ниже.
Как только вы наберете dotnet — и нажмете Enter, вы найдете множество команд, как показано ниже.
- Вы можете создать новый проект с помощью «new», вы также можете построить проект с помощью команды построения или опубликовать проект с помощью команды publish .
- Можно восстановить зависимости и инструменты, необходимые для проекта .net core с помощью CLI.