我试图理解 FxCop CA2122 消息(可能在禁用这些可怜的东西之前),我显然已经超越了我对 .NET CAS 的理解。
该应用程序是一个 .EXE,未标有 AllowPartiallyTrustedCallers。我们从代码分析中收到 CA2122 警告,抱怨我们未能将 LinkDemand 从最低级别的调用向上传播到本身具有 LinkDemand 的方法。
显然,我们可以将 LinkDemands 放在调用者身上,然后是调用者的调用者,无限循环。这似乎完全没有目的,因为此代码的每次调用都将始终是完全信任的,因此(AIUI)无论如何总会满足每个链接需求。Eric Lippert 似乎也认为这样做非常危险。
所以:
我缺少什么汇编级属性来说“此代码只能在完全信任的情况下运行”?(我认为 AllowPartiallyTrustedCallers 的缺席暗示了这一点,但可能不适用于 .EXE)
还是我应该关闭那个 CA 警告并继续前进?在禁用它们之前,我确实想正确理解它们...
更新:有人问我我们使用的是哪个框架版本——它是 2.0RTM,而且升级到那个点之后非常困难,因为它是在 XPe 平台上的。