天天看點

C#進階程式設計-共享程式集強命名

     首先記一下檢視程式集的指令:指令行輸入ildasm,這是一個反彙程式設計式。此外,.net Reflector也是分析程式集的強大工具,可以将IL代碼

     言歸正傳了,共享程式集需要進行強命名。要利用sn.exe産生密鑰對。具體步驟:

建立類庫,命名空間為Sharing,與建立普通類庫過程一緻。

建立強命名:生成公鑰與私鑰對,并對私鑰做嚴格的保護。

   ①可以項目屬性-》Signing->Sign the assembly,然後選擇或者添加pfx檔案即可。

   ②使用指令行工具:

   生成:sn -k e:\Study\AssemblyShared\Sharing\test1.keys 注意後面的路徑要寫明檔案的完整路徑。剛開始的時候總是fail,就是這個路徑寫的有問題導緻的。  

檢視公鑰:sn -p  e:\Study\AssemblyShared\Sharing\test1.keys  e:\Study\AssemblyShared\Sharing\test1.key

然後使用 sn -tp指令可以檢視公鑰

     5.安裝共享程式集,使用gacutil  /i   指令操作.剛開始會提示使用管理者賬号操作,後來成功。       

     6.建立項目,使用該共享程式集。要注意将引用的屬性LocalCopy設定為false。     7。強命名用到的主要指令: 生成:sn -k keyfile.snk 公鑰與私鑰對 抽取公鑰:sn -p keyfile.snk public.snk 從keyfile中抽取公鑰儲存到public.snk檔案中,以對程式集進行遲簽名 跳過驗證:sn -Vr assembly 對assembly在開發用機上進行跳過驗證處理,該assembly不是已簽名的 簽名:sn -r assembly keyfile.snk 對assembly 進行遲簽名,這一步是在釋出之前做 取消跳過驗證:sn -Vu assembly 對assembly在開發用機上取消跳過驗證,該assembly這時是已簽名的 或取消所有:sn -Vx 取消所有驗證     本文轉自 陳敬(Cathy) 部落格園部落格,原文連結: http://www.cnblogs.com/janes/archive/2010/09/10/1823485.html ,如需轉載請自行聯系原作者