You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Azure Functions至1.0.8版本后运行失败求助

解决Azure Functions加载Microsoft.WindowsAzure.Storage失败的问题

嘿,这种版本不匹配的坑我踩过好多次了!尤其是手动升级Azure Functions NuGet包又添加Storage引用之后,很容易出现这个ScriptHost错误。给你几个靠谱的解决步骤:

1. 对齐Storage包的版本

首先得确保你项目里的Microsoft.WindowsAzure.Storage版本和Azure Functions 1.0.8依赖的版本完全一致——也就是错误提示里的8.6.0.0:

  • 右键项目,选「管理NuGet程序包」
  • 找到Microsoft.WindowsAzure.Storage,如果当前版本不是8.6.0,直接安装这个版本
  • 顺便检查下Microsoft.Azure.WebJobs、Microsoft.Azure.WebJobs.Extensions这些核心包,确保都是1.0.8版本,别出现版本参差不齐的情况

2. 加个绑定重定向强制指定版本

有时候哪怕装对了版本,运行时还是会瞎找旧版本,这时候手动加个绑定重定向就能搞定:

  • 在项目根目录新建或者修改app.config文件,把下面的配置贴进去:
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.6.0.0" newVersion="8.6.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

这个配置会告诉运行时,不管找哪个版本的Storage组件,都统一用8.6.0.0的版本。

3. 清理缓存后重新生成

有时候项目的bin/obj文件夹里缓存了旧的程序集,导致冲突,这时候:

  • 右键项目选「清理」
  • 再选「重新生成」
  • 要是还不行,直接手动删掉项目目录下的bin和obj文件夹,然后重新生成一次

4. 检查本地Functions Runtime版本

最后确认下本地用的Azure Functions Core Tools版本是否和你的NuGet包匹配:

  • 打开命令行,运行func --version看看版本号
  • 如果是1.x系列的老版本,升级到1.x的最新版,确保和1.0.8的NuGet包兼容

对了,还有个小提醒:以后尽量别单独升级某个Azure Functions相关的NuGet包,最好是批量升级所有WebJobs和Functions相关的包,这样能最大程度避免这种版本冲突的问题。

内容的提问来源于stack exchange,提问作者Oddleif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:49:30