asp.net-web-api - 无法加载文件或程序集“Microsoft.IdentityModel.Tokens,版本=5.2.0.0
问题描述
我正在尝试使用 VS 2015 将 OWIN JWT 添加到 webapi 项目中。参考显示Microsoft.Owin.Security.Jwt, Version=4.0.0.0
和Microsoft.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.
请问有什么想法吗?
解决方案
首先,您应该了解发生的异常不仅限于 Microsoft.IdentityModel.Tokens 程序集,也不是 Visual Studio 版本。该问题在程序集引用中很受欢迎。
流行的原因是:您在项目中引用的版本与执行中使用的“DLL”包(bin文件夹)不同。但是,我认为这比手动发生更远。
1-我可以根据程序集名称猜测。您的解决方案中有多个项目,并且您最后使用 NuGet 安装了程序集,其版本高于其他项目(当然使用 NuGet)
尝试验证所有项目中已安装的包,并将它们全部更新到最新版本=5.3.0.0。
另一个可能的原因是:这个包需要 Microsoft.IdentityModel.Logging 尝试执行上面第 1 点中解释的相同操作。
推荐阅读
- twitter-bootstrap - 预先输入的 jqueryui datepicker“MM yy”格式日期无法在 ASP.Net 服务器端验证失败上呈现
- javascript - 更高效的价值选择
- javascript - 在移动设备上输入时,如何让我的 React TextField 打开数字键盘?
- google-sheets - 在许多其他列(或行)中散布
- python - 如何确保我的“settings.py”配置与我的蜘蛛一起使用?
- r - 方面的奇怪行为ggplotly和geom_hline
- r - 使用 geom_segment 在 ggplot 中绘制 'type = b' - 将参数调整为轴比
- linux - 错误:未满足包要求(libprotobuf-c >= 1.0.1)
- git - 使用 Visual Studio 代码将主(基本)分支代码同步到功能(主题)分支
- javascript - 什么情况下会在 React 上触发 renderRoot?