VS2017运行Azure Functions报错找不到Microsoft.Azure.WebJobs.Host求助
问题根因分析
- Azure Functions工具本地缓存损坏:VS2017的Azure Functions扩展显示为最新版本,但自动下载的本地运行时组件存在文件缺失、版本不匹配问题,导致运行阶段无法加载
Azure.WebJobs.Host程序集。 - 运行时版本不兼容:.Net Core 2.1仅支持Azure Functions v2 版本运行时,若本地工具默认拉取了更高版本的运行时,会出现程序集加载失败的问题。
- 全局Nuget缓存损坏:本地全局缓存的
Microsoft.Azure.WebJobs系列包存在文件损坏,构建阶段未触发文件校验无报错,但运行阶段无法加载对应dll。
解决办法
按以下顺序操作即可解决问题:
- 清理Azure Functions工具缓存:完全关闭VS后,删除本地路径
%localappdata%\AzureFunctionsTools下的所有内容,重启VS后重新运行项目,等待工具自动下载匹配版本的运行时组件。 - 固定项目运行时版本:打开项目根目录下的
local.settings.json文件,在配置项中新增"FUNCTIONS_WORKER_RUNTIME": "dotnet",同时右键项目进入属性页,确认Azure Functions的目标运行时版本设置为v2,和.Net Core 2.1环境匹配。 - 清理全局Nuget缓存:打开VS的包管理器控制台,执行命令
dotnet nuget locals all --clear,完成后右键解决方案选择「还原Nuget包」,重新构建项目后再尝试运行。 - 重新安装对应扩展:若上述操作无效,进入VS扩展管理页卸载「Azure Functions and Web Jobs Tools」扩展,重启VS后重新安装适配VS2017的最新版扩展,避免使用不兼容的高版本扩展。
内容的提问来源于stack exchange,提问作者WorksOnMyLocal
相关产品推荐
相关产品推荐

