最近,我们的.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,特别是它的安全机制。
任何人都可以提供帮助吗?感谢您的任何建议和评论:)
答案 0 :(得分:15)
来自MSDN:
在.NET Framework版本4中,已删除运行时支持以强制执行Deny,RequestMinimum,RequestOptional和RequestRefuse权限请求。不应在基于.NET Framework 4或更高版本的代码中使用这些请求。
所以,只需删除它。
答案 1 :(得分:4)
有些搜索引导我在这里找到类似的VB.net rdlc错误(是的,我知道这个问题被标记为C#)。我没有使用有问题的代码,但我确实发现一个迷路下划线导致了这个错误,例如:在文本框表达式中你可能会意外地放置:
"This is a " & _
"test"
认为你在某些代码背后,但是这会产生与上面列出的相同的错误,一旦删除,错误就消失了。