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

Azure Functions发布后加载Microsoft.WindowsAzure.Storage程序集失败求助

解决Azure Function发布后无法加载Microsoft.WindowsAzure.Storage程序集的问题

我之前也碰到过一模一样的坑,给你几个经过验证的解决方向:

  • 检查NuGet包的复制本地设置
    右键你的Azure Function项目(以及通用代码所在的类库项目)里的Microsoft.WindowsAzure.Storage包,打开属性面板,确保Copy Local选项设置为True。本地运行时可能会自动调用开发环境里的全局包,但发布到Azure后必须把依赖包一起部署,否则就会找不到文件。

  • 清理并重新生成解决方案
    有时候本地缓存的旧输出文件会搞乱发布流程。先执行Build -> Clean Solution清理所有项目的输出,再运行Build -> Rebuild Solution重新生成,之后再尝试发布。这一步经常能解决一些莫名其妙的依赖缺失问题。

  • 核对Azure Function的运行时版本
    登录Azure Portal找到你的Function App,进入Configuration -> Function runtime settings,确认运行时的.NET版本和你本地开发时用的一致。比如你本地用的是.NET Framework 4.8,Azure上就别选.NET Core 3.1,版本不匹配很容易导致程序集加载失败。

  • 添加程序集绑定重定向(针对.NET Framework项目)
    如果你的项目是基于.NET Framework的,可以在web.config里添加绑定重定向,强制使用指定版本的程序集:

    <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-9.1.0.0" newVersion="9.1.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    

    这能解决不同依赖之间的版本冲突问题。

  • 尝试Self-contained发布模式(针对.NET Core/.NET 5+项目)
    发布时选择Self-contained模式,这个模式会把所有依赖的.NET运行时和程序集一起打包部署,完全不依赖Azure环境里的默认运行时。虽然发布包会大一些,但能彻底避免环境依赖缺失的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:30:14