Проблемы при развертывании. NET Ядро в IIS. Я выполнил следующие шаги:
- Создал веб-сайт, используя. NET Core 3.1 с Visual Studio
- Создал веб-сайт внутри IIS (указывая на пустой физический путь C: \ inetpub \ mywebsite и адрес mywebsite.core.com)
- Опубликовал мой веб-сайт из Visual Studio в той же папке, C: \ inetpub \ mywebsite
- Запись хоста для просмотра из браузера, например, пошел в драйверы \ etc \ hosts и добавил строку 127.0.0.1 mywebsite.core.com
- Установленные пакеты отсюда: https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer
Ошибка:
Ошибка HTTP 500.30 - сбой при запуске ANCM Общие решения этой проблемы: не удалось запустить приложение; приложение было запущено, но затем остановлено; приложение запущено, но сгенерировало исключение во время запуска. Системный журнал событий для сообщений об ошибках Включите регистрацию сообщений стандартного вывода процесса приложения. Присоедините отладчик к процессу приложения и проверьте. Для получения дополнительной информации посетите: * 1 021 *https://go.microsoft.com/fwlink/?LinkID=2028265
У меня такое чувство, что это может быть связано с моим файлом launchSettings. json, не знаю, как его следует адаптировать ...
Когда я запускал свой сайт из Visual Studio, он раньше открывался напрямую по ссылке swagger, но теперь после публикации в IIS я больше не могу запускать его из Visual Studio (невозможно подключиться к веб-серверу IIS Express) ... Любая помощь, пожалуйста ?
Это консольное приложение. NET Core 3.1 с автозагрузкой, которое открыло чванство с моими API до того, как я попытался опубликовать sh в IIS.
Позднее редактировать: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1 это предполагает две возможные причины: отсутствие прав доступа к хранилищам ключей (не проблема, я вошел в систему Azure с azure cli); а другой: "Приложение неправильно настроено из-за таргетинга на версию общей платформы ASP. NET Core, которой нет. Проверьте, какие версии общей платформы ASP. NET Core установлен на целевой машине. "
Дальнейшее редактирование: web.config из C: \ inetpub \ mywebsite выглядит так:
<?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=".\XXX.MyWebsite.Api.RestApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
</system.webServer>
</location>
</configuration>
Я фактически изменил hostingModel="inprocess"
на: hostingModel="outofprocess"
И мой проект> Свойства> Отладка выглядит так:
(as you can see I changed from In Process to Out of Process)
and the bindings in IIS look like this:
введите описание изображения здесь
ОБНОВЛЕНИЕ: после всего этого моя ошибка изменилась на:
Ошибка HTTP 502.5 - сбой внепроцессного запуска ANCM Общие решения этой проблемы: приложение не удалось запустить процесс. Процесс приложения был запущен, но затем остановлен. Процесс приложения был запущен, но не смог прослушать настроенный порт.
(изначально было 500.30)
Не совсем уверен, что еще делать пытаться. Как проверить, правильно ли настроен порт?