Библиотека hostpolicy.dll требуется при запуске из папки развертывания, но для параметра emitEntryPoint установлено значение true.

Я создал проект веб-API, используя стандартный шаблон веб-приложения ASP.NET Core (.NET Framework), а затем опубликовал его в локальной папке с помощью VS.

Теперь, если я вызову dotnet application.exe в консоли, я получаю следующую ошибку:

Произошла фатальная ошибка. Библиотека hostpolicy.dll, необходимая для выполнения приложения, не найдена.

Я нашел в этом ответ и этот issue на github, фактическая проблема заключается в отсутствующем свойстве emitEntryPoint. Все хорошо, за исключением того, что в моем проекте project.json уже есть "emitEntryPoint": true

Что еще может вызвать эту ошибку?


person Set    schedule 12.07.2016    source источник
comment
Ваше приложение работает в режиме отладки Visual Studio перед публикацией?   -  person Nate Barbettini    schedule 12.07.2016
comment
да, и это работает, если использовать «dotnet run» из папки проекта   -  person Set    schedule 12.07.2016
comment
Что произойдет, если вы запустите опубликованный .exe без использования dotnet?   -  person Nate Barbettini    schedule 12.07.2016
comment
хм, не знаю, почему я не проверил это, потому что это работает нормально. Спасибо.   -  person Set    schedule 12.07.2016
comment
Без проблем. Опубликовал это как ответ на случай, если кто-то еще столкнется с этим! :)   -  person Nate Barbettini    schedule 12.07.2016


Ответы (3)


Как только вы опубликуете приложение и получите файл .exe, вам больше не нужно использовать dotnet. Приложение скомпилировано!

Просто запустите application.exe, дважды щелкнув его, или запустив его из консоли.

person Nate Barbettini    schedule 12.07.2016
comment
Я не могу заставить VS сгенерировать exe даже после публикации. Есть идеи, что может быть не так? - person Mayank; 13.08.2018
comment
@Mayank Похоже, ваш файл csproj может быть неправильным. Я бы рекомендовал опубликовать новый вопрос с содержимым вашего файла csproj. - person Nate Barbettini; 15.08.2018
comment
@Mayank, можете ли вы проверить, совпадает ли установленная версия .Net core SDK с версией, указанной в файле global.json? - person sandesh kota; 25.09.2018

Убедитесь, что на сервере установлена ​​правильная версия ASP Net Core.

Вот ссылка для скачивания:

https://dotnet.microsoft.com/download/dotnet-core

person Wildan Muhlis    schedule 09.05.2019

Мы столкнулись с той же проблемой при создании нашего приложения в CI. По-видимому, проскользнула ссылка на другой проект unittest. Это создало ошибку.

person Tom Tavernier    schedule 03.04.2019