为什么要签名?
1)、签名的程序集,可以检查依赖程序集的版本,避免dll版本不正确导致的运行时问题。
2)、避免dll函数转发:禁止他人替换(黑)你的dll模块。
两步实现:
1、AssemblyInfo.cs文件编辑。
程序集版本控制项
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.7.0.0")]
2、版本检查实现:为程序集签名。
通过以上两步,编译出的exe中即包含了所引用的程序集的版本信息,在软件启动时,若版本不一致时会立即报错。