2016-03-03 6 views
1

Я устраняю причины, почему IIS Express не может найти мой web.config после того, как я переехал ASP.NET Основной проект.Как интегрируется ASP.NET Core/5 с IIS Express?

(Ошибка HTTP 500.19 - Не удается прочитать файл конфигурации - web.config файл)

Мое исследование показало, что большинство людей изменяли applicationhost.config файл. Тем не менее, когда я открываю файл applicationhost.config я вижу только то, что выглядит запись по умолчанию (WEBSITE1 не мое название проекта):

<sites> 
    <site name="WebSite1" id="1" serverAutoStart="true"> 
    <application path="/"> 
     <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation=":8080:localhost" /> 
    </bindings> 
    </site> 
    <siteDefaults> 
    <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" /> 
    <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" /> 
    </siteDefaults> 
    <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> 
    <virtualDirectoryDefaults allowSubDirConfig="true" /> 
</sites> 

Я также понимаю, что файл launchSettings.json имеет варианты, которые использует IIS Express. Например, я изменил свои localhost port к 4444 в моем launchSettings.json файле:

"iisSettings": { 
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": { 
    "applicationUrl": "http://localhost:4444", 
    "sslPort": 0 
    } 
}, 

Прежде чем я переехал мой проект, все работает. Кроме того, если я решил запустить мой проект, используя «web» в Visual Studio (Kestrel, я думаю), он отлично работает даже после переезда.

Так что мой вопрос в том, как и/или где мое приложение ASP.NET Core задает конкретные настройки для IIS Express? Особый интерес для меня - это то, как я могу найти и изменить физический путь к моему проекту, чтобы IIS Express мог найти мой web.config.

+1

Вы переместили скрытую папку .vs в папку с вашим решением? Конфигурационный файл IIS Express находится в этой скрытой папке. –

ответ

0

При перемещении проекта обязательно скопируйте корневую папку, чтобы все файлы в папке были включены. Похоже, вы просто скопировали папку «src», которая не содержит всего.

Если вы скопируете корневую папку и откройте проект, она будет работать нормально. Как отметил Lex Li выше, есть скрытая папка с именем .vs, которая содержит папку config с applicationhost.config.

enter image description here

+0

Спасибо, Джо и Лекс! Папка hidden.vs была ключом к моему пониманию. Настройка пути удерживала ключ от решения. – James

Смежные вопросы