我在runTime看到一个System.Reflection.ReflectionTypeLoadException:
无法加载类型' System.IdentityModel.Tokens.ISecurityTokenValidator' 来自assembly&System; Identity.IdentityModel.Tokens.Jwt,Version = 5.0.0.127,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。":" System.IdentityModel.Tokens.ISecurityTokenValidator
我正在使用System.IdentityModel.Tokens.Jwt版本5.0.0.127(nuget包5.0.0)
我尝试使用fuslog来查看绑定日志。它在我的bin目录中找到了dll并且绑定成功(并且它是正确的dll)。我还确认我没有在GAC中安装此库。
我使用了visual studio的对象浏览器并浏览了dll。我发现JwtSecurityTokenHandler继承自ISecurityTokenValidator。根据对象浏览器,ISecurityTokenValidtor来自Microsoft.IdentityModel.Tokens。 (我也使用那个的nuget包5.0.0。)
我手动浏览了与这两个软件包相关的各种nuget依赖项(以及我认为有可能与我相关的项目中的任何其他软件包)。一切似乎都要结束。
任何人都可以解释在什么情况下你无法从程序集加载类型?任何人都可以向我解释如何正确解决这个特定库的问题吗?
答案 0 :(得分:0)
就我而言,我从程序包中删除了“ Microsoft.IdentityModel.Protocol.Extensions”。就像魅力一样。