Azure Function v1(.NET Framework4.8)依赖加载错误求助
解决Azure Function v1中Dataverse Client的程序集加载错误
问题分析
运行时提示找不到Microsoft.Extensions.DependencyInjection.Abstractions, Version=3.1.0.0,但项目已引用3.1.8.0版本,核心原因是程序集绑定重定向未正确配置,导致运行时仍尝试加载旧版本程序集。
解决方案
1. 添加程序集绑定重定向配置
在Azure Function项目的web.config文件中,插入以下绑定重定向规则,将对旧版本的请求重定向到已安装的3.1.8.0版本:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.1.8.0" newVersion="3.1.8.0" /> </dependentAssembly> </assemblyBinding> </runtime>
注意:公钥令牌需与实际NuGet包的一致,可通过查看程序集属性或NuGet包详情确认。
2. 配置包的复制本地属性
- 右键项目中的
Microsoft.Extensions.DependencyInjection.Abstractions包,打开属性面板 - 将复制本地设置为
True,确保程序集被复制到函数输出目录
3. 清理并重新生成解决方案
- 右键解决方案,选择清理解决方案
- 执行重新生成解决方案,确保所有依赖项正确输出到bin目录
4. 验证部署包内容
部署前检查本地输出目录(通常为bin\Release\net48),确认Microsoft.Extensions.DependencyInjection.Abstractions.dll(版本3.1.8.0)存在,避免部署时遗漏文件
内容的提问来源于stack exchange,提问作者Gireesh joshi
相关产品推荐
相关产品推荐

