Nav*_*K N 7 .net strongname assemblies
我的产品有大约10个以上的组件.我们曾经在没有强烈命名组件的情况下发货.但在阅读了强有力的命名之后,我认为强名称组合是一个明智的想法.只是想知道一个最佳实践强名称程序使用的所有程序集?
有什么想法吗?
是的,这是一种最佳实践,你真的应该这样做,特别是考虑到你将这些代码发送给客户这一事实(我认为强命名在内部或基于Web的应用程序中不那么重要).
有关此基本原理的说明,请参阅 强名称组件:
强名称包括程序集的标识 - 简单文本名称,版本号和文化信息(如果提供)-plus公钥和数字签名.它是使用相应的私钥从程序集文件(包含程序集清单的文件生成的,该文件又包含组成程序集的所有文件的名称和哈希值)生成的.Microsoft®VisualStudio®.NET和Windows软件开发工具包(SDK)中提供的其他开发工具可以为程序集指定强名称.具有相同强名称的程序集应该是相同的.
通过使用强名称对程序集进行签名,可以确保名称是全局唯一的.特别是,强名称满足以下要求:
强名称通过依赖唯一密钥对来保证名称唯一性.没有人可以生成相同的程序集名称,因为使用一个私钥生成的程序集与使用另一个私钥生成的程序集具有不同的名称.
强名称可保护程序集的版本沿袭.强名称可以确保没有人能够生成后续版本的程序集.用户可以确定他们加载的程序集版本来自创建应用程序构建版本的同一发布者.
强名称提供强大的完整性检查.传递.NET Framework安全性检查可确保程序集内容自构建以来未发生更改.但是,请注意,强名称本身并不意味着一定程度的信任,例如通过数字签名和支持证书提供的信任.
当您引用强名称程序集时,您希望获得某些好处,例如版本控制和命名保护.如果强名称程序集然后引用具有简单名称的程序集(没有这些好处),则会失去使用强命名程序集并恢复到DLL冲突所带来的好处.因此,强名称程序集只能引用其他强名称程序集.
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |