【问题标题】:Rendering a control generates security exception in .Net 4呈现控件会在 .Net 4 中生成安全异常
【发布时间】:2010-05-04 19:16:08
【问题描述】:

我的代码在 .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 I read about here 中安全命名空间下的各种设置。我知道这是一个代码访问安全更改,但我不明白它为什么不起作用(或错误消息)。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 是的,做到了。它没有用。我也尝试了第 2 级,并尝试在网站而不是 dll 中做同样的事情。我试过的组合都没有奏效。谢谢。
    • 如果这个答案不起作用,为什么会得到“检查”?你是怎么让它工作的?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-02
      • 2018-09-13
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多