1

我的代码在 .NET 2.0 中运行良好,但在 .Net 4 下出现此错误。

构建(网络):覆盖成员时违反了继承安全规则:'Controls.RelatedPosts.RenderControl(System.Web.UI.HtmlTextWriter)'。重写方法的安全可访问性必须与被重写方法的安全可访问性相匹配。

这是在 DotNetBlogEngine 中。.NET 4.0 似乎不喜欢代码中的其他几个安全要求。我遵循了我在博客(和这里)上找到的一些建议,并摆脱了所有其他错误。但这仍然让我望而却步。

主 BlogEngine 核心dll不再针对安全需求进行设置,并且也针对 .NET 4.0 进行了编译。

此错误是在网站端尝试使用dll. 有些控件调用RenderControl采用HtmlTextWriter. 显然,文本编写器现在设置了一些软安全属性。

每个控件都实现了一个自定义接口 ( public interface ICustomFilter),不存在安全权限或要求。该站点在我的本地开发机器上运行完全信任。

更新:

我已经尝试了我在此处阅读的 .NET 4 中安全命名空间下的各种设置。我知道这是一个代码访问安全更改,但我不明白它为什么不起作用(或错误消息)。

4

2 回答 2

1

设置此属性 [程序集:SecurityRules(SecurityRuleSet.Level1)]

参考:http: //msdn.microsoft.com/en-us/library/dd233102%28VS.100%29.aspx

于 2010-05-04T19:29:39.530 回答
0

要在 .net 4.0 下运行,我唯一需要做的就是向 Core 项目添加对 System.Web.ApplicationServices 的引用。

于 2010-07-30T12:53:39.783 回答