如何将Microsoft.Azure.WebJobs.Extensions.Storage降级至5.0.1(Python Azure Blob触发器)
解决本地运行Azure Blob触发器时的类型加载错误
你遇到的错误:
Microsoft.Azure.WebJobs.Extensions.Storage.Blobs: Could not load type 'Microsoft.Azure.WebJobs.ParameterBindingData' from assembly 'Microsoft.Azure.WebJobs, Version=3.0.34.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Value cannot be null. (Parameter 'provider')
本质是Microsoft.Azure.WebJobs.Extensions.Storage包与依赖的Microsoft.Azure.WebJobs版本不兼容导致的,下面是具体解决方法:
一、明确包的关系
Microsoft.Azure.WebJobs.Extensions.Storage是Azure Functions专用的Blob绑定扩展NuGet包,和azure-storage-blob是两个独立的包——前者负责Functions的触发/绑定逻辑,后者是基础存储操作SDK,不要混淆。
二、降级Microsoft.Azure.WebJobs.Extensions.Storage到5.0.1的具体操作
1. Visual Studio NuGet UI操作
- 右键项目 → 管理NuGet程序包
- 切换到「已安装」标签,搜索
Microsoft.Azure.WebJobs.Extensions.Storage - 在版本下拉菜单中选择5.0.1,点击「安装」并确认变更
2. 包管理器控制台命令
打开「工具」→「NuGet包管理器」→「包管理器控制台」,执行:
Install-Package Microsoft.Azure.WebJobs.Extensions.Storage -Version 5.0.1
3. 手动修改.csproj文件
找到项目的.csproj文件,编辑找到对应包引用节点:
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="当前版本号" />
将版本号改为5.0.1,保存后执行还原命令:
dotnet restore
如果找不到这个包,说明它是被其他依赖间接引入的,可执行以下命令查看完整依赖树确认来源:
dotnet list package --include-transitive
三、其他补充解决方案
- 检查
Microsoft.Azure.WebJobs包版本,确保和5.0.1版本的Microsoft.Azure.WebJobs.Extensions.Storage兼容(5.0.1对应WebJobs版本通常为3.0.x系列) - 清理NuGet缓存后重新还原,避免缓存损坏:
dotnet nuget locals all --clear dotnet restore
内容的提问来源于stack exchange,提问作者BlakeB9
相关产品推荐
相关产品推荐

