Я использую ядро Aspnet (2.1) с полной структурой (4.7, у нас есть некоторые службы WCF WS-*, которые мы хотим использовать), и всякий раз, когда я использую 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, чтобы оно соответствовало файлу, устраняет проблему. Мне нетрудно это исправить, но я хотел бы автоматизировать развертывание и избежать необходимости делать что-то, что исправит этот файл.
Я делаю что-то не так или есть способ заставить расширение?
web.config
в свой проект, и тогда процесс публикации будет использовать вашу правильную версию, а не генерировать неработающую. Неудивительно видеть такие ошибки, поскольку ребята из VS могут не быть гуру IIS. - person Lex Li   schedule 29.10.2018