如何修复“'System.Security.Permissions.SecurityAction.RequestMinimum'是过时的”编译错误?

时间:2011-11-25 12:19:56

标签: asp.net code-access-security wcsf

从.NET 3.5升级某些ASP.NET代码时,我收到以下编译警告错误: 'System.Security.Permissions.SecurityAction.RequestMinimum'已过时。

该属性已在可用级别上应用:

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

此外,该代码还使用了P& P Web客户端软件工厂,特别是ObjectBuilder.WCSFExtensions库。 此外,代码提供了一些角色提供程序实现。

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


所以milion dolar的问题是:

“System.Security.Permissions.SecurityAction”枚举需要使用什么值?

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

2 个答案:

答案 0 :(得分:14)

您是否阅读了完整的编译器警告或访问其中包含的链接? “裸”CLR不再限制.NET 4.0下的CAS权限,除非您翻转“传统模式”开关,因此无法替换您的RequestMinimum使用。应删除程序集级别的SecurityPermissionAttribute,而不是修改。

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

答案 1 :(得分:-2)

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

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