Core 2.0 опубликовано в IIS, ошибка web.config - PullRequest
0 голосов
/ 23 октября 2019

Используя Visual Studio 2019, я опубликовал свой веб-сайт Core 2.0.

Я могу запустить веб-сайт без ошибок из командной строки:

c:\www>dotnet My.Site.Web.dll
Hosting environment: Production
Content root path: c:\www
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.

Я могу загрузить сайт без проблемв браузере, используя порт 5000.

Я также создал сайт IIS, который указывает на c: \ www. Пул приложений использует «Нет управляемого кода».

У меня установлено следующее:

  • Microsoft .NET Core 2.1.13 - Windows Server Hosting
  • Microsoft.NET Core Runtime 2.1.13 (x64)
  • Microsoft .NET Core Runtime 2.1.13 (x86)
  • Microsoft .NET Core SDK 3.0.100 (x64) из Visual Studio

Если я пытаюсь открыть сайт IIS, я получаю сообщение об ошибке «Ошибка HTTP 500.19 - Внутренняя ошибка сервера. Запрашиваемая страница недоступна, поскольку соответствующие данные конфигурации для этой страницы недействительны. Файл конфигурации \? \ C:\ www \ web.config "

" Источник конфигурации ", который называется" -1: 0: "

Пакет хостинга был переустановлен всего несколько минут назад.

В диспетчере IIS, когда я открываю веб-сайт и дважды щелкаю виджет «ASP», я получаю сообщение об ошибке:

«Произошла ошибка при выполнении этой операции. Сведения: Имя файла \? \ C: \ www \ web. Ошибка конфигурации: "

У меня есть вторая машина разработки с тем же веб-сайтом, теми же путями, Core runtВремя и SDK, и веб-сайт работает на этой машине. Я скопировал рабочий сайт на компьютер с сайтом, который не запускается, и он все еще не решает проблему.

Кажется, он работает так, как будто хост-пакет IIS не установлен, но яустановил его несколько минут назад.

Мой web.config сгенерирован Visual Studio и выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>

      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>

      <aspNetCore processPath="dotnet" arguments=".\My.Site.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>

1 Ответ

0 голосов
/ 23 октября 2019

Несмотря на то, что уже установлен .NET Core Runtime 2.1.13, я только что установил .NET Core Runtime 3.0.0, и он решил проблему.

Когда я запускаю dotnet --info, я увидел это частично:

Runtime Environment:
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100\

Итак, я предположил, что он по какой-то причине хотел использовать среду выполнения 3.0, и установил ее. Кажется, сработало.

...