如何修复"'System.Security.Permissions.SecurityAction.RequestMinimum' is obsolete"编译错误?



在升级某些ASP时收到以下编译警告错误。.NET 3.5中的。NET代码:"System.Security.Permissions.SecurityAction。RequestMinimum已经过时了。

属性已应用于程序集级别:

[assembly: System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.RequestMinimum, Execution=true)]

代码还使用了P& p Web Client Software Factory,特别是ObjectBuilder。WCSFExtensions图书馆。此外,如果代码提供了一些角色提供程序实现。

请记住,此代码在其他项目中用作框架代码,因此很难确定可能存在哪些安全需求。


所以最重要的问题是:

"System.Security.Permissions. properties"需要使用什么值?SecurityAction"枚举?

是否有更好的方法来应用此安全属性?

您是否阅读了完整的编译器警告或访问了它包含的链接?在。net 4.0下,"裸"CLR不再限制CAS权限,除非您打开"遗留模式"开关,因此RequestMinimum的使用没有替代品。程序集级别的SecurityPermissionAttribute应该被删除,而不是修改。

有关4.0 CAS更改的更完整的解释,请参阅http://blogs.msdn.com/b/shawnfa/archive/2009/05/21/security-policy-in-the-v4-clr.aspx和http://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx。

http://msdn.microsoft.com/en-us/library/ee471421.aspx

似乎问题在于程序集级别的声明性安全性总体上已被标记为过时。也许您可以在方法级别应用它?

最新更新