asp.net-web-api2 – 在WebAPI2项目中加载System.IdentityModel.Tokens.
我在WebApi2项目中收到以下错误: 无法加载文件或程序集“System.IdentityModel.Tokens.Jwt,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其一个依赖项.找到的程序集的清单定义与程序集引用不匹配. (HRESULT的异常:0x80131040) 我有这些相关的NuGet软件包安装,以及其他一些: “Microsoft.IdentityModel.Protocol.Extensions”version =“1.0.2.206221351”targetFramework =“net45” “Microsoft.Owin”version =“3.0.1”targetFramework =“net45” “Microsoft.Owin.Host.SystemWeb”version =“3.0.1”targetFramework =“net45” “Microsoft.Owin.Security”version =“3.0.1”targetFramework =“net45” “Microsoft.Owin.Security.ActiveDirectory”version =“3.0.1”targetFramework =“net45” “Microsoft.Owin.Security.Jwt”version =“3.0.1”targetFramework =“net45” “Microsoft.Owin.Security.OAuth”version =“3.0.1”targetFramework =“net45” “System.IdentityModel.Tokens.Jwt”version =“4.0.2.206221351”targetFramework =“net45” Btw,我的web.config中有以下绑定重定向,但它仍然尝试加载4.0版本. <dependentAssembly> <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.20622.1351" newVersion="4.0.20622.1351" /> </dependentAssembly> 任何疑难解答的帮助将非常感谢. 解决方法我遇到了同样的麻烦.原因是最新版本的System.IdentityModel.Tokens.Jwt和System.IdentityModel.Tokens具有一些NuGet版本的mishmash,并且它们与启动UseJwtBearerAuthentication方法不兼容,需要System.IdentityModel v.4.0.0.0. 如果你使用nuget,你可以很容易混淆,因为: System.IdentityModel.Tokens在nuget中可用,如预发行版5.0.0.112(nowdays) System.IdentityModel.Tokens.Jwt在nuget中的最新版本可作为5.0.0.112或4.0.2.206221351版本的稳定版本. 但是,当您在WebAPI中设置JWT身份验证时 app.UseJwtBearerAuthentication(new JwtOptions()); System.IdentityModel版本4.0.0.0是必需的. 我的工作解决方案是: 1)卸载以前安装的System.IdentityModel.Tokens nuget包 Uninstall-Package System.IdentityModel.Tokens 2)卸载最新的System.IdentityModel.Tokens.Jwt nuget包 Uninstall-Package System.IdentityModel.Tokens.Jwt 3)安装System.IdentityModel.Tokens.Jwt版本4.0.2.206221351(最新版本) Install-Package System.IdentityModel.Tokens.Jwt -Version 4.0.2.206221351 4)将.NET引用(不是nuget!)添加到.NET框架组件System.IdentityModel中.右键单击项目 – >参考文献 – >添加参考 – >装配 – >框架 – >选择System.IdentityModel 4.0.0.0 某些步骤可能会因您已安装/卸载的内容而异. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET学习CORE中使用Cookie身份认证方法
- asp.net-mvc – 使用asp.net mvc 2功能与火花浏览引擎
- ASP.NET代码隐藏中的当前工作目录 – 我们可以依赖它吗?
- asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用
- asp.net实现生成缩略图及给原始图加水印的方法示例
- 在ASP.Net MVC应用程序中放置初始化代码的位置?
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的Serializati
- asp.net – 在SQL Server中将日期转换为刻度
- asp.net – 查询字符串参数使我的应用程序面临风险?
- asp.net – 访问.NET中的Web服务中的查询字符串(GET请求数组
- 从Asp.Net MVC 6 API返回JSON错误
- asp.net-mvc – 为什么在视图引擎中指定位置时,v
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
- asp.net – 会话固定 – 表单身份验证
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更
- asp.net核心 – 如何排除在ASP.NET Core中发布文
- asp.net – CalendarExtender定位问题
- asp.net – 获得“System.Web.Mvc.Html.MvcForm”
- 如何在ASP.NET MVC中配置3个级别的URL?
- asp.net-mvc – ASP.NET MVC jQueryUI datepicke