Ожидаемый результат :
IIS правильно размещает мое приложение, и когда я перехожу на URL своего приложения (например, blabla / swagger), я вижу пользовательский интерфейс swagger, описывающий мое приложение
Задача
Когда я пытаюсь перейти к своему приложению, оно говорит:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Информация
Я собрал приложение в .net core 2.0 и смог запустить его через visual studio, размещенную на Kestrel.
Однако мне нужно развернуть это приложение на разных серверах, и поскольку Kestrel не поддерживает имена хостов, мне нужно, чтобы оно размещалось в IIS. Когда я запускаю его через Kestrel, я могу получить к нему правильный доступ и, перейдя по адресу url / swagger, я могу увидеть правильную страницу swagger, которая описывает приложение.
Мое приложение публикуется от visual studio. Это означает, что в его опубликованной папке есть все библиотеки, которые нужны приложению. Оно публикуется как зависимое от фреймворка приложение, а не как отдельное, но это не должно иметь значения.
Как повторить проблему
Поскольку мне нужно, чтобы этот день был размещен в IIS внутри контейнера Docker, я пытаюсь сделать его размещенным в IIS с помощью сценариев powershell. Чтобы сделать его размещенным в IIS, выполните следующие действия:
New-Website -Name 'myTestApp' -force -Port 8080 -PhysicalPath
'C:\Users\myUser\Desktop\Docker\PublishOutput' -ApplicationPool 'MyAppPoolTest'
Где C: \ Users \ myUser \ Desktop \ Docker \ PublishOutput - это путь к опубликованной папке, где Visual Studio публикует приложение. Заранее спасибо!
Это файл web.config, сгенерированный Visual studio при публикации:
<?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=".\Friss.CaseApi.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
<!--ProjectGuid: 313d542d-7676-4440-ae1b-22c6071f4309-->
И страница ошибки:
Я неправильно настраиваю web.config?