当我必须手动关闭旁路功能时,为什么要使用强名称程序集?

hab*_*kuk 6 .net strongname

Microsoft Code Analysis鼓励我强烈命名所有程序集.但根据微软的说法,我必须手动禁用它们被检查的"旁路功能".

因此,自.NET Framework 3.5版Service Pack 1强名称未经过验证.

为什么我仍然要用强名称签署我的集会?

谢谢!斯特凡

Han*_*ant 3

因此,由于 .NET Framework 版本 3.5 Service Pack 1 强名称未经过验证

嗯,作为一个笼统的陈述,实际上并不正确。这是部分正确的,当应用程序在完全信任中运行并且程序集存储在受信任的位置时,它们不再被验证。本地计算机或 Intranet 区域。

在构建时,您不知道程序集最终将存储在哪里。您可能有一个部署计划,但只要方便或必要,此类计划往往会被否决。这包括当您需要将程序集存储在 GAC 中时需要强名称。也许是解决 DLL Hell 问题的方法,这可能需要几年后才能完成。

由于您没有对程序集进行强命名,因此无法使用此类解决方案,这非常不便。到那时几乎总是为时已晚,因为它需要重建一切。强命名非常简单,没有什么理由跳过它。或者,如果您不同意,则直接隐藏该消息,代码分析规则确实符合“您考虑过这一点吗?” 警告类别。温和地提醒一些晦涩的细节。