2016-09-26 3 views
6

Я создал простой веб-API, использующий .NET Core и пытающийся опубликовать его в IIS. Но получение HTTP 500.Развертывание .Net Core WebAPI проекта на IIS

Я следовал за статьей https://docs.asp.net/en/latest/publishing/iis.html и сделал то, что упоминалось в этом документе.

я установил только https://www.microsoft.com/net/download как

DotNetCore.1.0.1-WindowsHosting.exe OPT_INSTALL_REDIST = 0

ПРИМЕЧАНИЕ: Я могу развернуть и доступ к MVC приложение успешно, но не может получить доступ к Приложение WebAPI с теми же шагами.

В журналах IIS я вижу ошибку ниже.

Не удалось запустить процесс с помощью командной строки «dotnet». \ Project-1.dll ', ErrorCode =' 0x80070002 '.

Я использую шаблон Web API по умолчанию, предоставляемое в Visual Studio 2015

я упускаю что-то. Разве развертывание WebAPI отличается от развертывания приложения MVC w.r.t .net?

+0

Не могли бы вы дать нам немного больше информации? Вы настроили таргетинг только на .NET Standard, или используете ли вы код на платформе? Веб-API и MVC не разделены в .NET Core, как они были в прошлом, поэтому это вряд ли будет точкой привязки. Являются ли пулы приложений одинаковыми для вашего MVC-приложения и вашего веб-API? – Feasoron

+2

Я нацелен на .NetCore App 1.0.1. Я использую тот же пул приложений с 'not managed' set. Я использую базовый шаблон WebAPI, предоставляемый Visual Studio. Вы можете воспроизвести его, я думаю. – Venky

+0

Последний вопрос, тогда я посмотрю, смогу ли он получить его локально для меня: если вы проверите свои журналы IIS, есть ли какие-либо релевантные данные? Этот код ошибки немного уловит. – Feasoron

ответ

4

Когда вы устанавливаете пакет хостинга .NET Core Windows Server, он не перезагружает все процессы IIS, если IIS в настоящее время запущен. Это хорошо, потому что на производственном сервере вы не хотели бы, чтобы они просто перезагружались, но было бы неплохо, если бы это было сделано немного яснее. Сначала проверьте переменную PATH System (not User), чтобы убедиться, что существует путь к Dotnet. Затем зайдите в службы и перезапустите службу активации Windows. Это перезапустит все биты IIS и попросит его обновить путь. После того, как вы это сделали, IIS должен наилучшим образом выполнить ваше приложение .NET Core.

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