为了用强命名标识一个程序集,你必须拥有一对公钥和私钥。这一对公钥私钥加密密钥用作编译期间生成强命名的程序集(汇编程序).你可以使用强命名工具(Sn.exe)创建一个密钥对.密钥文件通常都具有一个.snk的文件扩展名。
●创建一个密钥对
在命令提示符下,键入以下命令:
Sn –k <file name>
在此命令中,<file name>是一个包含密钥对的输出文件的名字。
以下例子是创建一个名叫sgKey.snk的密钥对文件
sn –k sgKey.snk |
如果你希望延迟标识程序集并且也希望控制整个密钥对(它不像外部测试情景,场景),你可以用一下命令生成一对密钥对,然后从此密钥对中提取公钥到一个单独的文件。
首先,创建密钥对:
sn –k keypair.snk |
然后,从上面生成的密钥对文件(keypair.snk)中提取公钥,并拷贝到一个独立的文件中:
sn –p keypair.snk public.snk |
一旦你创建了密钥对,你就必须将此文件放置在强命名标识工具能够找到它的位置。
当运用强命名标识一个程序集的时候,程序集连接器(Assembly Linker (Al.exe))会寻找与当前目录有关的密钥文件,并输出到当前目录。在使用命令行工具编译 的时候,也可以很容易的拷贝此密钥到包含代码模块的的当前目录下。
若正在使用在早期版本的项目属性中并不具有签名选项的vistual studio时候,推荐的密钥文件位置是如下制定文件属性的项目目录下。
[assembly:AssemblyKeyFileAttribute("keyfile.snk")]
|
文章连接:【MSDN】http://msdn.microsoft.com/en-us/library/6f05ezxy.aspx