我们的一个客户端正面临标题中提到的错误,我们确认已安装.NET Framework 4.5.2,我们确实卸载了它并再次安装。该计算机是Windows Server 2012 R2
对此问题的进一步分析发现,System.Security.Claims命名空间存在于mscorlib.dll中,这是.NET框架的主要程序集。
不确定如何解决它,因为它们已经面临这个问题。
发生此错误的Web应用程序位于.NET Framework 4.5.2上,它是一个使用表单身份验证的ASP.NET Web表单应用程序。
显示登录页面,但在提供用户名/密码时,会出现此错误。
提前感谢您的帮助。
阿努拉格
2 个答案:
答案 0 :(得分:3)
自.NET 4.5以来,ClaimsIdentity
类型已可用(请参阅“版本信息”here);但是,构造函数仅在.NET 4.6之后才可用(参见“版本信息”here)。所以:要么使用不同的构造函数,要么依赖.NET 4.6 - 当前的.NET 4.5.2是不够的。
答案 1 :(得分:0)
正如您在Marc的回答中提到的那样,如果没有完美地完成从.NET 4.6.1到.NET 4.5.2的回滚,可能会导致此错误。通过卸载Windows Update KB3102467,我在Windows Server 2012 R2上从.NET 4.6.1回滚后遇到此错误消息。当我重新安装Windows Update时,错误已解决。
您可以尝试重复描述here或here所述的步骤,以更加完美地恢复.NET 4.5.2。您还可以尝试使用this post中提到的.NET Framework修复或清理工具。
我执行了所有这些步骤并仍然遇到此错误,因此我认为升级回.NET 4.6.1更简单快捷。