На рабочем сервере я пытаюсь запустить dotnet core API под IIS 8.5, я получаю сообщение об ошибке
Приложению 'MACHINE/WEBROOT/APPHOST/MySite' с физическим корнем 'D:\MyFolder\' не удалось запустить процесс с помощью командной строки '"" ', ErrorCode = '0x80070057: 0.
Я могу запустить свой API в Kestrel
с помощью командной строки без каких-либо проблем. Однако я не могу вызвать API через IIS. Я получаю сообщение об ошибке выше в средстве просмотра событий.
Примечание. У меня также есть сервер разработки, на котором я установил IIS 8.5
, .Net Core 1.0.1
и Windows Server Hosting 1.0.1
. Но в среде разработки я могу получить доступ к API через IIS.
Однако ошибка возникает на новом производственном сервере, где я установил IIS 8.5
, .Net Core 1.0.4
и Microsoft .Net Core 1.0.4 & 1.1.1 - Windows Server Hosting
.
Поскольку в производстве я могу запускать приложение в Kestrel с .Net Core 1.0.4
, я не думаю, что это проблема с версией ядра .net.
Я предполагаю, что это происходит из-за Microsoft .Net Core 1.0.4 & 1.1.1 - Windows Server Hosting
. Эта версия отличается в разработке и производстве.
Вопрос
Как исправить эту ошибку?
Где найти старые версии установочных файлов Windows Server Hosting. ( здесь их нет)
Обновление 1
Ниже приведен окончательный развернутый файл web.config.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Api.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
я попытался изменить processPath на C:\Program Files\dotnet.exe
безуспешно
Обновление 2
и вот проект .json