SecurityAction.RequestMinimum在.Net 4.0中已过时

时间:2012-07-24 06:40:30

标签: c#-4.0 .net .net-security

最近,我们的.Net客户端libaray正在升级以针对Net 4.0进行编译。 将目标框架更改为4.0后,应用程序出现了一些编译错误。

AssemblyInfo.cs

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

  

错误7警告错误:'System.Security.Permissions.SecurityAction.RequestMinimum'已过时:'“程序集级声明式安全性已过时,默认情况下不再由CLR强制执行。请参阅http://go.microsoft.com/fwlink/?LinkID=155570了解更多信息信息。”'   `

在.Net 4.0中,它显示:SecurityAction.RequestMinimum已过时,我们将所有警告视为错误。

我应该怎么做? - 只需删除它(这会产生一些意想不到的影响吗?例如,当在IIS中使用dll时)或更改为其他值? 我不熟悉.Net,特别是它的安全机制。

任何人都可以提供帮助吗?感谢您的任何建议和评论:)

2 个答案:

答案 0 :(得分:15)

来自MSDN

  

在.NET Framework版本4中,已删除运行时支持以强制执行Deny,RequestMinimum,RequestOptional和RequestRefuse权限请求。不应在基于.NET Framework 4或更高版本的代码中使用这些请求。

所以,只需删除它。

答案 1 :(得分:4)

有些搜索引导我在这里找到类似的VB.net rdlc错误(是的,我知道这个问题被标记为C#)。我没有使用有问题的代码,但我确实发现一个迷路下划线导致了这个错误,例如:在文本框表达式中你可能会意外地放置:

"This is a " & _
"test"

认为你在某些代码背后,但是这会产生与上面列出的相同的错误,一旦删除,错误就消失了。