第一步:生成秘钥文件
强名称工具 (Sn.exe) 有助于使用强名称对程序集进行签名。Sn.exe 提供了用于密钥管理、签名生成和签名验证的选项。
1、使用Visual Studio 命令
Visual Studio 开发人员命令提示会自动设置环境变量,这些变量使你能够轻松使用 .NET Framework 工具。安装完整版 Visual Studio 时会安装开发人员命令提示。安装所有 Express 版 Visual Studio 时不会安装。
你可能会看到多个命令提示,具体取决于你安装的 Visual Studio 及其他任何 SDK 的版本。例如,Visual Studio 的 64 位版本同时提供 32 位和 64 位命令提示。(大多数工具的 32 位和 64 位版本都相同;但少数工具针对具体的 32 位和 64 位环境做了一些改变。)
在 Windows 8.1 中
在“开始”屏幕上,按 CTRL + TAB 打开“应用程序” 列表,然后按 V。列表中将包括所有已安装的 Visual Studio 命令提示。(若要打开“开始”屏幕,请按键盘上的 Windows 徽标键 Windows 徽标。)
选择“开发人员命令提示”(或你想使用的命令提示)。
在 Windows 8 中
在“开始”屏幕上,按 Windows 徽标键 Windows 徽标 + Z。(若要打开“开始”屏幕,请按键盘上的 Windows 徽标键 Windows 徽标。)
选择屏幕底部的“应用程序视图”图标,然后按 V。列表中将包括所有已安装的 Visual Studio 命令提示。
选择“开发人员命令提示”(或你想使用的命令提示)。
在 Windows 7 中
选择“开始”,展开“所有程序”,然后展开“Microsoft Visual Studio”。
根据已安装的 Visual Studio 版本,选择“Visual Studio Tools”、“Visual Studio 命令提示”或你想使用的命令提示。
2、使用Visual Studio 命令
下面的命令创建一个新的随机密钥对,并将其存储在 keyPair.snk 中。
sn -k keyPair.snk
生成的秘钥文件在 C:\Windows\System32
参考:https://msdn.microsoft.com/zh-cn/library/k5b5tt23.aspx
第二步:使用强名称为程序集签名
使用 Visual Studio 创建程序集并为程序集签署强名称
在“解决方案资源管理器”中,打开解决方案的快捷菜单,然后选择“属性”。
选择“签名”选项卡。
选择“为程序集签名”框。
在“选择强名称密钥文件”框中,选择“<浏览…>”,然后导航到该密钥文件。若要创建新的密钥文件,请选择“<新建…>”,然后在“创建强名称密钥”对话框中输入其名称。
第三步:编译程序集
1、找到类库中的Properties下的AssemblyInfo.cs文件中,修改其[assembly: ComVisible(false)],将false改为true
对组件进行 COM 互操作注册
在“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”。
在 Visual Basic 中单击“编译”选项卡。 在 C# 中单击“生成”选项卡。
选中“为 COM 互操作注册”复选框。
第四步:生成注册COM组件的注册文件
在Visual Studio 命令提示下,输入下面命令
regasm D:\Test.DLL /regfile:D:\Test.reg