Обновление
Я раньше был в неправильном месте. Эта проблема не вызвана отсутствием .Net Core 2.1. Это может быть связано с Azure Functions and Web Jobs Tools
(в меню VS, Инструменты> Расширения и обновления).
Начиная с версии 15.0.40502.0
, расширение использует ленту новостей, в которой обновляются шаблоны, инструменты сборки и время выполнения, когда в службу вносятся изменения.
См. %LocalAPPDATA%\AzureFunctionsTools\Releases\2.2.2\manifest.json
.
"CliEntrypointPath": "C:\\Users\\UserName\\AppData\\Local\\AzureFunctionsTools\\Releases\\2.2.2\\cli\\func.exe"
В VS вход в 2.x cli всегда был func.dll
раньше. Отменяя требование .Net Core 2.1 для cli 2.0.1-beta.31 (хост 2.0.11888), автономная версия (x86) переносится в VS. Его запись func.exe
.
Если на вашей платформе x64 остается значение func.dll
, произойдет ошибка из-за запуска x86 func.dll
с x64 dotnet.
Копая глубже, мы видим следующее сообщение об ошибке
Failed to load the dll from [C:\Users\UserName\AppData\Local\AzureFunctionsTools\Releases\2.2.2\cli\hostpolicy.dll], HRESULT: 0x800700C1
An error occurred while loading required library hostpolicy.dll from [C:\Users\UserName\AppData\Local\AzureFunctionsTools\Releases\2.2.2\cli\]
Решение
Если ваш Azure Functions and Web Jobs Tools
равен 15.0.40617
, просто измените запись на func.exe
. Затем перезапустите VS (необходимый шаг).
Если ваша версия ниже, я рекомендую вам обновить до 15.0.40617
. После обновления удалите %LocalAPPDATA%\AzureFunctionsTools
, затем создайте новый проект функции Azure, подождите в диалоговом окне создания для VS, чтобы загрузить новые cli и шаблон.
Через некоторое время мы видим изменение наконечника на