C#參考 :強式名稱程式集de構建和引用

來源:互聯網
上載者:User

強式名稱程式集de構建和引用

                                                               

     背景為獲得程式集提供的許多好處,例如,在系統中多個應用程式之間共用,並資料列版本設定及其對安全型和部署更好的支援等,必須使用強式名稱程式集。.NET Framework使用強式名稱來提供唯一標識程式集的方法,允許應用程式與強式名稱程式集的多個版本一起運行,該強式名稱程式集的版本是與應用程式一起產生的,而且強式名稱具有確保程式集的可信性和不會被篡改的特性。

   組成強式名稱程式集由程式集標識組成,指:

        - 程式集的簡單文本名稱

        - 程式集版本號碼

        - 地區性資訊,如果提供電話的話(可選)

        - 為用戶端產生的公開金鑰

        - 數位簽章

   具體步驟

   建立強式名稱金鑰組檔案並且在CalculatorEngine庫中引用此檔案。然後建立WindowsCalculator應用程式是它引用強式名稱程式集。另外,還將使用ILDASM檢查CalculatorEngine.dll和WindowsCalculator.exe的中繼資料。

(1)   建立強式名稱程式集

1)  開啟命令提示字元視窗。通過單擊“開始”,然後指向“所有應用程式”,指向“Microsoft Visual Studio.NET 2003”,指向“Visual Studio.NET 工具”,然後單擊“Visual Studio.NET 2003命令提示”。

2)  在命令提示字元下,開啟目錄…\CalculatorEngine。

3)  輸入命令“sn  –k  CalcKey.snk”,這將建立我們用來產生強式名稱程式集的一個強式名稱密鑰檔案。

4)  在Visual Studio.NET中的CalculatorEngine.sln解決方案檔案。

5)  開啟AssemblyInfo.cs檔案。

6)  尋找到“[assembly: AssemblyVersion("1.0.*")]”程式碼,修改為:3.0.1.1

   [assembly: AssemblyVersion("3.0.1.1")];

7)  在檔案的底端添加新屬性(attribute)來應用強式名稱金鑰組檔案。

    [assembly: AssemblyKeyFile("CalcKey.snk ")];

8)  開啟Calculator.cs源檔案,重建程式集,然後關閉Visual Studio.NET。

9)  在Visual Studio.NET命令提示字元提示視窗,開啟目錄…\ CalculatorEngine\bin\Debug。

10)      在命令提示字元下,對CalculatorEngine.dll運行ILDASM。

    ildasm CalculatorEngine.dll

11)      開啟“MANIFEST”子節點。

12)      注意到在.assernbly CalculatorEngine項下,有一個.publickey項。這表示CalculatorEngine是一個強式名稱程式集。

13)      關閉“MANIFEST”視窗和ILDASM

 

(2)   建立引用強式名稱程式集的應用程式

1)  在Visual Studio.NET中,開啟或是建立新的解決方案WindowsCalculator.sln。

2)  添加對“CalculatorEngine.dll”引用

3)  重建解決方案。

4)  在命令提示視窗,對“WindowsCalculator.exe”運行ILDASM,輸入命令:

  ildasm WindowsCalculator.exe

5)  開啟“MANIFEST”子節點。注意在.assernbly extern CalculatorEngine項裡不僅有版本號碼為3.0.1.1的項而且有publickeytoken項。這表示此應用程式有一個對外部強式名稱程式集的引用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.