《C#類設計手冊》讀書隨筆(4)

來源:互聯網
上載者:User

Programmer To Programer 叢書
C# Class Design Handbook
Richard Conway, Teun Duynstee等著
清華大學出版社

程式碼群組織和中繼資料

共用組件 全域組件快取  Global Assembly Cache (GAC)

程式集 可重用的最小單元

中繼資料 為通用語言執行平台提供了在運行期間載入類型和調用方法所需的所有資訊
metadata 是元編程的基礎,在很多系統中也是根本的東西,瞭解這個東西可以比較深入的瞭解某個架構

查看中繼資料最簡單方法使用ildasm.exe /adv或/advancel選項

.NET模組是一個可移植、可執行(PE)格式檔案

只有資料的模組  SDK包含一個工具Assembly Linker(AL.exe)
利用該工具將這些非MISL模組連結到程式集中

將該檔案編譯成模組,必須使用C#.NET命令列編譯器
不能使用Visual Studio .NET 因為它總是建立單、程式集
例如:csc /target:module csMod.cs csMod.netmodule
*.netmodule 是.NET的模組
增加模組到資訊清單中:
csc /addmodule: csMod.netmodule /addmodule:VBMod.netmodule MainMod.cs

程式部署
部署單程式集應用程式比較簡單,直接用xcopy部署。
私用組件部署應用程式也不複雜,將需要的程式集合放在同一個檔案夾或者用應用程式設定檔通知CLR在什麼位置尋找程式集

部署共用組件
添加到GAC 全域組件快取
但Microsoft不推薦應用程式與GAC相互依賴,應盡量使用應用私用組件部署方式

利用公有-私人金鑰組可以為程式集建立強式名稱
編譯期間編譯器使用私密金鑰,將相應的公開金鑰寫入資訊清單
sn (Strong Name)  sn \k *.snk
MSDN中尋找"Keys crytography"尋找相應內容
publickey 較長的數字
public key token 公開金鑰令牌
sn \t *.snk

將共用組件安裝到GAC中
gacutil -i *.dll  需要管理員權限
或者在控制台的管理工具中找 .NET FrameWork Configuration

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.