SecurityAction.RequestMinimum在.Net 4.0中已过时

jef*_*uan 14 .net .net-security c#-4.0

最近,我们的.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,特别是它的安全机制.

有人可以帮忙吗?感谢您的任何建议和评论:)

Cen*_*tro 16

来自MSDN:

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

所以,只需删除它.

  • 是否可以删除空洞:`[assembly:SecurityPermission(SecurityAction.RequestMinimum,Execution = true)]`?? (2认同)

小智 5

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

"This is a " & _
"test"
Run Code Online (Sandbox Code Playgroud)

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