Я только что настроил IIS 10 на чистый сервер Server 2016 и установил следующие пакеты, которые, как я выяснил, должны быть на компьютере, чтобы IIS мог размещать приложения ASP.NET Core:
aspnetcore-runtime-2.1.0-win-x64.exe
dotnet-hosting-2.1.0-win.exe
dotnet-runtime-2.1.0-win-x64.exe
Я установил свое приложение прямо на веб-сайт по умолчанию и заменил все файлы в C:\inetpub\wwwroot\
файлами своего приложения.Я также назначил веб-сайту пул приложений без управляемого кода, так что это не моя проблема.
В прошлый раз, когда мое приложение было собрано с 2.0, и я установил последние версии вышеупомянутых пакетов, я уверен, что это было 2.0, и единственной ошибкой, которую я имел, было то, что команда dotnet
, которую использует IISчтобы вызвать Kestrel для запуска сайта, не было в PATH env.переменная
Теперь, когда я пытаюсь перейти на localhost
на компьютере с Server 2016, появляется следующая ошибка в журнале событий Windows:
Приложение 'MACHINE /WEBROOT / APPHOST / DEFAULT ВЕБ-САЙТУ 'с физическим корнем' C: \ inetpub \ wwwroot \ 'не удалось запустить процесс с командной строкой' dotnet. \ QuickDrive.Mvc.dll ', ErrorCode =' 0x80004005: 8000808c.
Первоначально я пытался с той же сборкой, что и раньше, которая была 2.0, и когда я получил эту ошибку, я перестроил приложение до цели 2.1.Почти каждый результат поиска и соответствующий ответ SO, который я могу найти, указывают на конфликт версий, но теперь не должно быть, по крайней мере, никакого конфликта версий между средой выполнения и пакетом размещения на сервере.Может быть, есть другие конфликты версий, о которых я не знаю?
По крайней мере, я прошу несколько советов о том, как получить более подробную диагностическую информацию, даже если я не получаю ответ, который говорит мнепрямо какие параметры конфигурации и версии проверить на Windows и IIS.