知道如何建立強命名程序集以後,要學習如何部署,以及CLR如何利用信息定位並加載程序集(GAC)。GAC的具體位置會隨着不一樣版本變化。學習
開發和測試時可使用GACUtil.exe。路徑是"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin"。能夠查看用法:測試
使用/i開關將程序集安裝到GAC,/u開關從GAC卸載程序集。spa
在生成的程序集中引用強命名的程序集blog
你生成的任何程序集都包含對其餘強命名程序集的引用,這是由於System.Object在MSCorLib.dll中定義,然後者是強命名的程序集。此外,程序集還能夠引用由Microsoft、第三方廠商或者本身公司發佈的其餘強命名程序集。可使用CSC.exe的/reference編譯器開關指定想引用的程序集文件名。開發
若是文件名是完整路徑,CSC.exe就會加載指定文件,並根據元數據生成程序集。若是是不包含路徑的文件名,CSC.exe會嘗試在如下路徑尋找程序集(按順序):部署
1.工做目錄編譯器
2.CSC.exe所在目錄編譯
3.使用/lib編譯器開關指定的任何目錄變量
4.使用LIB環境變量指定的任何目錄。引用
在安裝.NET Framework時,實際會安裝Microsoft的程序集文件的兩套拷貝。一套安裝到編譯器/CLR目錄,另外一套安裝到GAC的子目錄。編譯器/CLR目錄中的文件方便生成程序集,GAC中的拷貝方便在運行時加載。
除此以外,編譯器/CLR目錄中的程序集不依賴機器。也就是說,這些程序集只包含元數據。由於編譯的時候不須要IL代碼,因此該目錄沒必要同時包含程序集的x8六、x64和ARM版本。GAC中的程序集才能同時包含元數據和IL代碼,由於僅在運行時才須要代碼。