web.config недействителен после публикации моего проекта Core 2.2 на сервере - PullRequest
0 голосов
/ 15 января 2019

У меня есть проект, написанный на C # поверх платформы Asp.NET Core 2.2.

Мне удалось опубликовать его на моем VPS. Но, когда я пытаюсь получить доступ к сайту, я получаю следующую ошибку

Ошибка HTTP 500.19 - Внутренняя ошибка сервера

Запрашиваемая страница недоступна, поскольку соответствующие данные конфигурации для страницы недействительны.

Вот содержимое файла web.config, расположенного в корне

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\ProjectName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 47b26df0-8a01-4d75-9549-3a98654550a3-->

Файл web.config был опубликован через Visual Studio вместе с остальными моими файлами. Но я не вижу файл web.config в своем решении.

Этот файл кажется недействительным. Как я могу исправить файл web.config?

Если я удалю файл web.config и добавлю index.html страницу, сайт будет работать. Мне кажется, что web.config файл по какой-то причине недействителен.

Обновлено Я могу запустить приложение с помощью командной строки. используя командную строку, я сделал следующее

  1. Я меняю каталог в корень моего сайта (т.е. cd C:\inetpub\wwwroot\ProjectName)
  2. Я выполняю следующую команду dotnet ProjectName.dll
  3. 10 секунд спустя, я получил некоторую информацию о том, что приложение запущено, и оно показало мне URL, на который оно указывает. В моем случае это было http://localhost:5000
  4. O использовал браузер для браузера http://localhost:5000, и он отлично работает.

Но когда я получаю к нему доступ, используя доменное имя, я все равно получаю Http Error 500.19, как указано выше.

1 Ответ

0 голосов
/ 15 января 2019

Как обсуждено в комментариях

Установите модуль AspnetCore в iis

Настройте ASPNETCORE_ENVIRONMENT для работы в вашей среде или настройка в web.config .

<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="false"
      stdoutLogFile="\\?\%home%\LogFiles\stdout"
      hostingModel="InProcess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
  </environmentVariables>
</aspNetCore>
...