У меня есть приложение.NET Core. Это работает локально с VS2017 и пустельгой. Это работает локально под IIS. Однако на сервере этому не удается запуститься с a 502.5 - Process Failure
сообщение.
В конечном счете журналы я получаю больше детали:
Приложению '...' с физической корневой '...\my-папкой-приложения C: \' не удалось запустить процесс с командной строки '"dotnet".\MyApp.dll', ErrorCode = '0x80004005: 80008083.
Предыдущие сборки приложения хорошо работают на том же сервере, при этом единственная разница - это, они были опубликованы с VS2017RC (2&3), и это - первая сборка с полностью выпущенным VS2017.
Что делает ErrorCode = '0x80004005 : 80008083.
средний?
Как я фиксирую его?
Когда VS2017 RC поставляется с новой версией.NET Core SDK (.NET Core 1.0.4 SDK 1.0.1 ), необходимо обновить платформу на сервере также.
На данный момент существует простой способ видеть, какова фактическая ошибка. Открытый раздел Console от сервиса Приложения, затем попытайтесь запустить dotnet приложение. Оттуда мы можем получить полное сообщение об ошибке и проследить информацию:
Код ошибки: 0x80004005
означает отсутствие файла или не может быть получен доступ.
Подкод: 80008083
, кажется, конфликт версий.
Эта ошибка означает другую версию потребностей dotnet быть установленной на сервере.
Возможное решение, которое работало на меня, состоит в том, что я добавил это к моему публиковать профиль в Visual Studio:
<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>
я полагаю, что это заставит хост использовать необходимые файлы для запущения приложения вместо того, чтобы полагаться на набор спецификаций в целевой декларации, которая могла быть неправильной (или runtime/sdk на сервере или локальное, находится в конфликте с этими спецификациями).
Я опубликовал новое.NET Core 2,0 веб-приложения к Сервису Приложения Azure и поразил эту ошибку.
Удар сайта:
Ошибка HTTP 502.5 - Отказ Процесса Частые причины этой проблемы: процесс приложения не удался запустить запущенный процесс приложения, но затем остановил процесс приложения, запущенный но неудавшийся для слушания на настроенном порте
Отладка: Используя Понимание Приложения Azure & Сервис Приложения - Усовершенствованные Инструменты (КУДУ), смотрящий эти Инструменты - Консоль отладки - Просмотр папка LogFiles eventlog.xml , имел строку журнала:
Приложению 'MACHINE/WEBROOT/APPHOST/xxxx' с физическим корнем 'D:\home\site\wwwroot\' не удалось запустить процесс с командной строки 'dotnet.\WebApp.dll', ErrorCode = '0x80004005: 8000808c.
<Provider Name="IIS AspNetCore Module"/>
<EventID>1000</EventID>
<Level>1</Level>
<Task>0</Task>
<EventData>
<Data>Application 'MACHINE/WEBROOT/APPHOST/xxxx' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\WebApp.dll', ErrorCode = '0x80004005 : 8000808c.</Data>
</EventData>
</Event>
Решение
Этот ответ: Удаление wwwroot папки в лазури и публикует снова из VS, работал на меня несмотря на не наличие Базовых 1,1 приложений прежней версии первоначально .
Azure Запуска Консоль в рамках приложения и удаляют содержание wwwroot папки, затем повторно развертываются.
RMDIR wwwroot /S /Q
Дальнейшее тестирование После этого было очень полезно для тестирования, и оно работает при идентичном сопровождении затем отклонитесь однако, необходимо найти ошибки. https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs
Я имел эту проблему также и думал, что отправлю свое решение. Я не уверен, предназначается ли это или нет, но я не думаю dotnet базовые 2 Пробела поддержек в Вашем Названии проекта.
я создал и опубликовал Проект, названный "Приложение Mikes" и при попытке выполнить сайт с IIS, который я получу эту ошибку (приложение.NET Core, не могущее запустить в IIS из-за ErrorCode = '0x80004005'). Когда я включил stdoutLogs через web.config файл, я нашел ошибку:
Никакой исполняемый файл, найденный, соответствуя "dotnet-.\Mikes"
команды, Который я нашел странным, потому что web.config файл действительно правильно показывал путь dll под аргументами, который был ".\Mikes App.dll"
<aspNetCore processPath="dotnet" arguments=".\Mikes App.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
, я создал новые dotnet базовые 2 проекта в Visual Studio и назвал это "Mikes-приложением" вместо этого, переиздал его и обновил каталог на моем сайте IIS.
Затем сайт хорошо работал!
Я столкнулся с той же проблемой, и мне только установили dotnet cor 2 на моем сервере, таким образом, путем установки этой ссылки Вы можете выполнить свой код в других версиях точечного сетевого ядра. не забывайте перезапускать IIS. https://download.microsoft.com/download/6/A/2/6A21C555-B042-46EA-BBB4-368AACCB3E25/DotNetCore.1.0.8_1.1.5-WindowsHosting.exe
Для меня я должен был удостовериться, что у меня были последний.Net Core Runtime и установленный Windows Hosting Module, все из которых доступны от https://www.microsoft.com/net/download/windows (новейшие версии должны всегда быть доступными здесь).
А именно, я установил:
полное время выполнения.Net Framework 4.7.1 не могло бы быть необходимо, если Вы действительно только размещаете.Net Core apps на своем сервере, но я установил его для сейфа.
Для ядра .NET 2.0
dotnet abcd.dll
Это пред управление, которое можно проверить после установки WindowsHosting... Все, что я должен был сделать для фиксации этой ошибки, было перезагрузкой мой компьютер разработчика, и перекомпилируйте & переиздайте сайт. VS не отвечал правильно.