您的位置:首页 > 其它

VS2005 公钥 私钥SN.EXE使用

2006-12-06 21:32 120 查看
VS2005 公钥 私钥SN.EXE使用

VS2005 strong name 的原理:
先利用SN.exe这个工具生成一个比如SampleKey.snk的文件,这个文件的英文原文叫string name key file,然后用加密的算法根据SampleKey.snk生成一个SampleKeyPublic.snk.最后在根据SampleKeyPublic.snk提取一个public key token
,public key token是一个16位的数字和字母混合的数(我不敢确定是不是十六进制数):大致流程如下:

SampleKey.snk --根据一定的算法--> SampleKeyPublic.snk---->public key token
所以我们只要SampleKey.snk和public key token就可以了,SampleKeyPublic.snk就没什么用了.因为SampleKeyPublic.snk的贡献做完了,所以我们不要为"为什么在vs2003不用吊SampleKeyPublic.snk"而不爽.

实际操作如下:
1.打开SDK Command Prompt或者VS2005中的Visual Studio 2005 Command Prompt.而不是windows的cmd
2.输入sn -k SampleKey.snk,得到的文件在命令提示符的当前文件夹下(微软叫文件夹很少叫目录,最正点是folder)
3.输入sn -p SampleKey.snk SampleKeyPublic.snk
4.输入sn -t SampleKeyPublic.snk 得到public key token

打开VS2005,找到项目,然后右击"项目名"找到"属性","属性"里面有个"Signing"的选项卡,然后钩上
"Sign the assembly",再Choose a strong name key file.做完了操作,然后记得保存,编译
这样你的DLL才能拖到GAC,GAC就是"全局程序集缓存",这就是为什么你的你的项目的bin文件夹下没有System.Data,你都能引用的原因,因为程序会自动去找GAC,GAC的位置在win 2003中是"c:/windows/assembly".

如果你的assembly在GAC中,那么你的东西也是蛮吊的。

SQl Server 2005 Sample bug 是指在“C:/Program Files/Microsoft SQL Sever/90/Samples/Integration Service/Programming Samples/Control Flow/SqlConnection Manager Sample/SqlConnMgrCS”的Sample有问题
请参照如下修改:
1.SqlConnMgrCS.cs文件中的13行
应改成:SqlConnMgrCSUI.SqlConnMgrUICS,SqlConnMgrUICS
2.在SqlConnMgrCSUI项目中的SqlConnMgrUIFromCS.cs中的按钮在SQL Server的SSIS Designer中根本点不动
所以我们必须到VS2005中帮它触发事件,然后Copy它的代码到相应的事件处理程序中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: