.net强名
可以向程序集分配称为强名称的加密签名,它为程序集提供名称的唯一性并防止他人借用您的程序集名称(名称欺骗)。如果您正在部署一个将被同一台计算机上的多个应用程序共享的程序集,则该程序集必须有强名称。即使只在您的应用程序中使用该程序集,使用强名称也可确保加载该程序集的正确版本。
简单的说
它是使用于装配件需要注册到全局缓冲时
标示装配件的唯一标识
这样,一方面避免其他同名的装配件覆盖你的装配件
另一方面,也确保你调用的装配件是你希望调用的那个(通过在Config中指定PublicKey)
如何创建强名呢...
运行sn.exe即可 (在dotnet SDK中)
sn -k myproject.snk
sn是强名称,在编译的时候可以作为.dll文件的key
总的来说,强名称机制最起码起到两个作用:
区分程序集
避免程序集被恶意更改