Я использую ядро Aspnet (2.1) с полной платформой (4.7, у нас есть несколько WCF WS- * Services, которые мы хотим использовать), и всякий раз, когда я использую publish, сгенерированный web.config не работает. Запуская веб-сайт (используя IIS 7.5 на моем компьютере с Windows 7) и пытаясь получить доступ к нему из веб-браузера, я получаю классическую ошибку 502.5, и если я просматриваю свою программу просмотра событий, я нахожу ошибку, похожую на эту:
Application 'MACHINE/WEBROOT/APPHOST/MYWEBSITE' with physical root 'C:\inetpub\MyWebSite\' failed to start process with commandline '.\MyWebSite ', ErrorCode = '0x80070002 : 0.
Поскольку я знаю, что 8007002 - это ошибка файла, не найденная, я решил взглянуть на сгенерированный файл web.config и вижу, что строка aspNetCore выглядит примерно так:
<aspNetCore processPath=".\MyWebSite" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
Добавление расширения (.exe) к MyWebSite, чтобы оно соответствовало файлу, устраняет проблему.
Мне не сложно это исправить, но я бы хотел автоматизировать развертывание, и я бы хотел избежать необходимости делать что-то, что исправит этот файл.
Я что-то делаю не так или есть способ форсировать расширение?