Azure函数:无法加载文件或程序集Microsoft.IdentityModel.Tokens,版本=5.2.1.0

Azure函数:无法加载文件或程序集Microsoft.IdentityModel.Tokens,版本=5.2.1.0,azure,azure-functions,azure-functions-runtime,Azure,Azure Functions,Azure Functions Runtime,我正在编写azure函数来生成JWT令牌并将其返回给客户端。代码在控制台应用程序中进行了本地测试,似乎一切正常。这是工作控制台应用程序和我的功能应用程序中包含的程序包参考: 使用func host start在本地运行函数主机并执行代码时,会导致错误: 无法加载文件或程序集“Microsoft.IdentityModel.Tokens,版本=5.2.1.0,区域性=中性,PublicKeyToken=31bf3856ad364e35”。“ 我不明白为什么会发生这种情况,dll和我的应用程序dl

我正在编写azure函数来生成JWT令牌并将其返回给客户端。代码在控制台应用程序中进行了本地测试,似乎一切正常。这是工作控制台应用程序和我的功能应用程序中包含的程序包参考:

使用
func host start
在本地运行函数主机并执行代码时,会导致错误:

无法加载文件或程序集“Microsoft.IdentityModel.Tokens,版本=5.2.1.0,区域性=中性,PublicKeyToken=31bf3856ad364e35”。“

我不明白为什么会发生这种情况,dll和我的应用程序dll一起放在输出文件夹中。我唯一能想到的是,函数主机有自己的一套源程序包,而这套程序包还不可用,它是12天前才发布的

我不确定。关于为什么会发生这种情况,或者如何避免这种情况,有什么帮助吗

详细信息:
Azure功能核心工具(2.0.1-beta.22)

函数运行时版本:2.0.11415.0

我能够通过使用旧版本的nuget软件包来解决这个问题。我的出发点是我将一个类文件从旧项目复制到了新项目。该类文件引用了JwtSecurityToken。这在新项目中没有编译,因此我添加了Security.IdentityModel.Tokens.Jwt来自nuget package manager。我刚刚添加了最新版本。该版本在本地运行良好,但与您一样,在发布到azure时失败。然后我查看了旧项目,发现它使用的是该Security.IdentityModel.Tokens.Jwt的5.1.4。因此,我降级到该版本,现在发布时可以正常工作

fwiw:这是我做这件事时的v2预览运行时版本

https://<mysite>.azurewebsites.net/admin/host/status?code=<myadminkey>
{
"id": "<mysite>",
"state": "Running",
"version": "2.0.11587.0",
"versionDetails": "2.0.11587.0-beta1 Commit hash: 1e9e7a8dc8a68a3eff63ee8604926a8d3d1902d6"
}
https://.azurewebsites.net/admin/host/status?code=
{
“id”:“,
“状态”:“正在运行”,
“版本”:“2.0.11587.0”,
“versionDetails”:“2.0.11587.0-beta1提交哈希:1e9e7a8dc8a68a3eff63ee8604926a8d3d1902d6”
}

我遇到了这个问题,它似乎与中的某种错误有关。修复方法是添加:

true

如果有演示代码将更有帮助。处理请求时发生未经处理的异常。FileLoadException:无法加载文件或程序集'System.IdentityModel.Tokens.Jwt,Version=5.2.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'。我得到的是v.Simular…在本地工作,推送到时失败蔚蓝色的