【问题标题】:Could not load file or assembly 'Microsoft.IdentityModel.Tokens, Version=5.2.0.0无法加载文件或程序集“Microsoft.IdentityModel.Tokens,版本=5.2.0.0
【发布时间】:2019-04-19 20:49:26
【问题描述】:

我正在尝试使用 VS 2015 将 OWIN JWT 添加到 webapi 项目中。参考显示 Microsoft.Owin.Security.Jwt, Version=4.0.0.0Microsoft.IdentityModel.Tokens Version=5.3.0.0。下面是运行时的错误。我在源代码中找不到5.2.0.0

=== Pre-bind state information ===
LOG: DisplayName = Microsoft.IdentityModel.Tokens, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///C:/Users/xxx/Documents/xxx/WebApi/
LOG: Initial PrivatePath = C:\Users\xxx\Documents\xxx\WebApi\bin
Calling assembly : Microsoft.Owin.Security.Jwt, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

有什么想法吗?

【问题讨论】:

    标签: asp.net-web-api jwt owin


    【解决方案1】:

    首先,您应该了解,发生的异常不限于 Microsoft.IdentityModel.Tokens 程序集,也不限于 Visual Studio 版本。这个问题在程序集引用中很常见。

    常见的原因是:您在项目中引用的版本不同于执行中使用的“DLL”包(bin 文件夹)。但是,我认为这比手动完成要远。

    1- 我可以根据程序集名称猜测。您的解决方案中有多个项目,并且您最后使用 NuGet 安装了程序集,其版本高于其他项目(当然使用 NuGet)

    尝试验证您所有项目中已安装的软件包,并将它们全部更新到最新版本=5.3.0.0。

    另一个可能的原因是:这个包需要 Microsoft.IdentityModel.Logging 尝试执行上面第 1 点中解释的相同操作。

    【讨论】:

      猜你喜欢
      • 2018-07-31
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2020-05-09
      • 2018-10-04
      • 2020-11-11
      相关资源
      最近更新 更多