Сборка приложения ASP.NET Core для целевой Core 2.1 завершается ошибкой на сервере IIS 10, на котором установлен Core 2.1 - PullRequest
0 голосов
/ 13 июня 2018

Я только что настроил 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.

Ответы [ 3 ]

0 голосов
/ 17 июня 2018

Я решил проблему, запустив dotnet myWesite.dll в PowerShell, и сначала обнаружил, что dotnet.exe не было в переменной окружения PATH, и после исправления этого, повторный запуск dotnet myWesite.dll дал мне значимое сообщение об ошибке, котороесборка отсутствовала, потому что она не была включена, когда я публиковал сайт.

0 голосов
/ 15 сентября 2018

Я столкнулся с той же ошибкой на компьютере разработчика в IIS Express.Приложение MVC перестало работать внезапно.Eventlog дал код ошибки 0x80004005.

После попытки нескольких предложений отладка кода ошибки проводной сети состояла в том, чтобы запустить приложение в консоли:

[Project bin folder]> dotnet [projectname].dll

Оказалось, что во времяпри обновлении пакета NuGet версия ядра dotnet была случайно обновлена ​​до 2.1.4, где в качестве установленной версии была 2.1.3 [может быть ошибка в диспетчере Nuget, поскольку обновление было оттуда]

Я редактировал проектфайл для ссылки на доступную версию (2.1.3), и приложение начало работать должным образом.

0 голосов
/ 13 июня 2018

Вы должны установить Core SDK для любой версии, которую вы хотите использовать в Visual Studio.Установка только среды выполнения не поможет.После этого вы можете перезагрузить Visual Studio, чтобы увидеть его в списке.

Вот ссылка на загрузку SDK 2.1 (последняя на момент написания этой статьи).

...