Перейти к основному контенту

Запуск приложения на .NET Core

.NET Core — это кроссплатформенное программное обеспечение от Microsoft для разработки настольных, мобильных и веб-приложений. Мы предоставляем хостинг для ASP.NET с поддержкой .NET Core. Актуальные версии программного обеспечения, доступного на ASP.NET-хостинге, вы можете найти в статье Какое ПО установлено на серверах REG.RU.

Обратите внимание, что .NET Core недоступно на Hosting Linux.

Настройка хостинга для запуска приложения

Для работы сайта с приложениями .NET Core в его корневой директории должен быть расположен конфигурационный файл web.config. В этом файле в секции handlers укажите модуль “AspNetCoreModule”, а в параметре arguments укажите исполняемую библиотеку для вашего приложения.

Пример конфигурационного файла:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>    
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\WebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

Как исправить ошибку при запуске приложения

С выходом модуля AspNetCoreModuleV2 было добавлено ограничение — поддерживается только одно приложение на один пул приложений, подробнее на официальном сайте Microsoft.

Так как на одном пуле приложения могут работать несколько приложений, при запуске .NETCore вы можете увидеть ошибку HTTP Error 500.0 — ANCM In-Process Handler Load Failure.

Существует три варианта решения этой проблемы:

  • Измените в файле web.config версию модуля. Для этого замените строку modules=“AspNetCoreModuleV2” на строку:
modules=“AspNetCoreModule”
  • В VisualStudio добавьте трансформацию для web.config:
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

Запуск приложения на .Net Core

  • В VisualStudio добавьте трансформацию для web.config для работы модуля AspNetCoreModuleV2 вне процесса:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

Запуск приложения на .Net Core

Готово, теперь вы можете загрузить свой сайт с поддержкой .NET Core на хостинг. Также вы можете развернуть сайт с помощью Web Deploy. Подробнее о работе с модулем ASP.NET Core вы можете прочитать в официальной документации Microsoft.

Логирование приложения на .NET Core

Чтобы включить логирование:

  1. 1.

    В конфигурационном файле web.config замените параметр stdoutLogEnabled=«false» на:

    stdoutLogEnabled=«true»
  2. 2.
    В корневой директории сайта создайте папку logs. Для пула приложения установите права на запись по инструкции Как изменить права на файлы и каталоги на хостинге для ASP.NET.

Готово, логирование приложения будет производиться в папку logs.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 1