Отсутствует расширение файла web.config автономного развертывания Aspnet Core.

Я использую ядро ​​​​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, чтобы оно соответствовало файлу, устраняет проблему. Мне нетрудно это исправить, но я хотел бы автоматизировать развертывание и избежать необходимости делать что-то, что исправит этот файл.

Я делаю что-то не так или есть способ заставить расширение?


person Carl Quirion    schedule 29.10.2018    source источник
comment
Скопируйте исправленный web.config в свой проект, и тогда процесс публикации будет использовать вашу правильную версию, а не генерировать неработающую. Неудивительно видеть такие ошибки, поскольку ребята из VS могут не быть гуру IIS.   -  person Lex Li    schedule 29.10.2018
comment
Довольно странно, если я это сделаю, все значения, которые я настраиваю, сохраняются, НО processPath перезаписывается... Например, если я включу это в web.config моего проекта: ‹aspNetCore processPath=.\MyWebSite.exe stdoutLogEnabled=true stdoutLogFile=.\logs\std1234 /› Я получаю следующий вывод: ‹aspNetCore processPath=.\MyWebSite stdoutLogEnabled=true stdoutLogFile=.\logs\std1234 /› Оба stdoutLogEnabled и stdoutLogFile сохраняются, но не processPath.   -  person Carl Quirion    schedule 30.10.2018
comment
Я думаю, я открою проблемы с командой ядра сети, посмотрим, как это пойдет ...   -  person Carl Quirion    schedule 05.11.2018


Ответы (1)


Оказывается, это сделано по задумке, если я разверну, указав -r win, я получу расширение файла в web.config.

person Carl Quirion    schedule 08.11.2018