【问题标题】:CA2109 - ignore or not ignore - that is the questionCA2109 - 忽略或不忽略 - 这就是问题
【发布时间】:2011-05-18 05:15:04
【问题描述】:

在我和朋友一起编写的程序中,我们收到以下警告:CA2109。 看了 MSDN 之后,我很困惑这是否是我需要关注的事情。

MSDN VS2008: http://msdn.microsoft.com/en-us/library/ms182312(v=VS.90).aspx

MSDN VS2010: http://msdn.microsoft.com/en-us/library/ms182312.aspx

这两个版本的区别在于这部分取自 VS2008 MSDN 但在 VS2010 MSDN 中不存在:

注意 此规则仅适用于 .NET Framework 2.0 之前的版本。您可以在 .NET Framework 2.0 版和所有更高版本中取消此警告。在这些更高版本中,运行时会自动确保在堆栈遍历期间委托的创建者在调用堆栈中以满足安全需求。

有什么建议吗?

编辑:只是为了在阅读 DGH 答案后澄清 - 如 MSDN2008 中的注释中所述,我可以忽略它,因为编译器正在处理这个问题。我的问题是 VS2010 中发生了什么,而这个注释不存在。

【问题讨论】:

    标签: c# visual-studio warnings msdn


    【解决方案1】:

    这是一个潜在的安全问题。如果代码仍然可以编译和运行(警告不应阻止),那么您当然可以忽略它继续前进。但是,如果您希望为您的程序提供尽可能高的安全级别,您可能应该考虑按照 MSDN 文章的建议解决此问题。

    【讨论】:

    • 我不认为你的回答是 100% 正确的。如 MSDN2008 中的注释所述,我可以忽略它,因为编译器正在处理这个问题。我的问题是 VS2010 中发生了什么,该注释不存在。
    猜你喜欢
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2017-04-12
    相关资源
    最近更新 更多