16

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

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

4

2 回答 2

21

来自MSDN

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

因此,只需将其删除。

于 2012-07-24T06:46:06.830 回答
5

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

"This is a " & _
"test"

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

于 2013-02-01T22:12:08.333 回答