ASP.NET MVC尝试加载旧版本的Owin程序集
作为一个上下文,我正在开发一个ASP.NET MVC 5应用程序,该应用程序通过Microsoft的OWIN实现使用基于OAuth的身份验证,仅适用于此阶段的Facebook和Google.目前(截至v3.0.0,git-commit 4932c2f),FacebookAuthenticationOptions和GoogleOAuth2AuthenticationOptions不提供任何财产来强制Facebook或Google分别在登录时重新验证用户(通过附加相应的查询字符串参数).
最初,我开始重写以下类: > FacebookAuthenticationOptions 但是发现~CognificationHandler类被标记为内部. 所以我为Katana项目(http://katanaproject.codeplex.com/)提取了一份源代码并相应地修改了源代码. 编译之后,我发现有几个依赖项需要更新才能在MVC项目中使用这些更新的程序集(Microsoft.Owin.Security.Facebook和Microsoft.Owin.Security.Google): > Microsoft.Owin 这是通过将现有项目引用替换为3.0.0版本并在web.config中更新它们来完成的.好消息:该项目成功编译. 在调试中,我在启动时收到异常:
基础异常表明Microsoft.AspNet.Identity.Owin在Startup.Auth.cs中从Startup.ConfigureAuth(IAppBuilder应用程序)调用app.UseExternalSignInCookie()时尝试加载Microsoft.Owin.Security的v2.1.0. 不幸的是,程序集(及其它依赖项,Microsoft.AspNet.Identity.Owin)不是Project Katana解决方案的一部分,我无法在线找到这些程序集的任何可访问存储库.
我已经为Microsoft.AspNet.Identity.Owin升级了NuGet包,这仍然是一个问题. 有关如何解决此问题的任何想法? 解决方法
我更新到OWin 3.0.1并修复了问题:
工具 – > NuGet包管理器 – >管理NuGet包以获得解决方案 我搜索了列表中的引用(在NuGet.org下),并为Microsoft.Owin以及Microsoft.Owin.Security,Microsoft.Owin.Security.Google,Microsoft.Owin.Security.Facebook等安装了新的引用. 然后我检查了packages.config和Web.Config文件中的版本号,发现它已正确更新: Packages.config示例: <package id="Microsoft.Owin.Security.Google" version="3.0.1" TargetFramework="net45" /> Web.Config示例: <assemblyIdentity name="Microsoft.Owin.Security" culture="neutral" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Entity Framework中使用存储过程(四):如何为
- asp.net-core – 是否可以直接在Azure WebApps中
- 线程是否在ASP.Net中的请求之间重用?
- asp.net-mvc-3 – ASP.NET MVC3从https重定向到h
- asp.net-mvc – 有没有更好的方法来指定asp.net
- asp.net-mvc – MVC ViewModel绑定构造与展平
- .net – 在黄屏死亡的地方有执行吗?
- asp.net核心 – MVC6是否支持预编译视图?
- ASP.NET存储SQL中的图像并检索Asp:Image
- asp.net-core – 在Asp.Net Core中,如何从正文中