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

从ADAL迁移至MSAL后函数应用程序集加载失败求助

解决Azure函数应用迁移MSAL后System.Runtime.CompilerServices.Unsafe加载失败问题

针对你迁移ADAL到MSAL并升级Azure.Identity至1.10.2后遇到的System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1加载失败问题,可尝试以下方案:

  • 添加程序集绑定重定向
    在函数项目的function.proj或app.config中添加绑定重定向配置,强制运行时使用你已安装的版本:

    <dependentAssembly>
      <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
    </dependentAssembly>
    

    确保配置文件被正确复制到函数输出目录。

  • 排查依赖链版本冲突
    通过NuGet包管理器的依赖项视图,检查是否有间接依赖的包在引用更低版本的System.Runtime.CompilerServices.Unsafe;也可执行命令行排查:

    dotnet list package --include-transitive
    

    找到冲突包后,尝试升级该包到兼容版本,或通过PackageReference的Force属性强制指定版本。

  • 清理NuGet缓存
    本地缓存可能残留旧版本文件导致加载异常,执行命令清理:

    dotnet nuget locals all --clear
    

    清理完成后重新还原所有NuGet包。

  • 确保包被复制到输出目录
    在项目中显式引用System.Runtime.CompilerServices.Unsafe,并设置PrivateAssets="none",保证它被复制到函数输出目录:

    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.0.4.1" PrivateAssets="none" />
    
  • 检查运行时版本兼容性
    确认Azure函数的运行时版本(如.NET 6/.NET 7)与所有引用包的目标框架匹配,避免跨框架依赖引发的程序集加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:57:03