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

Azure函数中加载Microsoft.IdentityModel.Tokens程序集失败问题排查

解决Azure函数中加载Microsoft.IdentityModel.Tokens失败的问题

我明白你现在碰到了个头疼的问题——控制台里用JWT验证好好的,一放到Azure函数里就报找不到Microsoft.IdentityModel.Tokens程序集的错。结合你的场景(解决方案里还有另一个不用这个NuGet包的Azure函数),给你几个针对性的排查和解决方向:

1. 核对NuGet包的安装与版本一致性

  • 首先确保使用JWT的那个Azure函数项目已经正确安装了Microsoft.IdentityModel.Tokens和System.IdentityModel.Tokens.Jwt这两个包,而且版本最好保持一致(这俩包关联性很强,版本不匹配很容易出加载问题)。
  • 检查解决方案里另一个Azure函数项目:虽然它不用JWT,但要确认它没有引入冲突版本的相关包,建议在解决方案级别的NuGet包管理器里统一所有项目的依赖版本,避免版本混乱。

2. 确保依赖项被正确复制到输出目录

Azure函数的依赖处理逻辑和控制台不一样,有时候本地开发时依赖存在,但部署或本地运行函数时没复制过去:

  • 右键点击用JWT的Azure函数项目 → 属性 → 切换到生成选项卡,找到Microsoft.IdentityModel.Tokens和相关程序集,把它们的复制本地属性设为True。
  • 如果用发布配置文件部署到Azure,记得勾选发布设置里的包含所有依赖项选项,确保所有需要的程序集都能上传到Azure。

3. 清理缓存并重新生成解决方案

项目的缓存文件有时候会搞出奇怪的依赖问题:

  • 先执行Build → Clean Solution清理解决方案,然后手动删除该项目下的bin和obj文件夹。
  • 重新生成整个解决方案,再尝试本地运行Azure函数,看看输出目录里有没有Microsoft.IdentityModel.Tokens.dll这类文件。

4. 匹配Azure函数的运行时版本

不同的Azure函数运行时(比如.NET 6 isolated vs in-process,或者.NET Framework)对依赖的兼容要求不同:

  • 确认你的Azure函数项目的目标框架,和Azure门户上配置的函数应用运行时版本完全一致。如果用的是.NET Isolated模式,还要确保依赖包支持该模式。

你的代码参考(方便对照排查)

string key = "";
var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
var credentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
var header = new JwtHeader(credentials);
var payload = new JwtPayload 
{
    { "some ", "hello "},
    { "scope", "http://dummy.com/"},
};
var secToken = new JwtSecurityToken(header, payload);
var handler = new JwtSecurityTokenHandler();
var tokenString = handler.WriteToken(secToken);
var token = handler.ReadJwtToken(tokenString);
log.LogInformation(token.ToString());

额外小技巧

如果上面的方法都没解决,可以直接在项目的.csproj文件里显式指定依赖版本,强制锁定版本避免冲突,比如:

<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.32.0" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.32.0" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:12:37