如何將組件安裝在全域組件快取在 Visual Basic.NET 或 Visual Basic 2005 中

文章翻譯 文章翻譯
文章編號: 315682 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何產生組件的強式名稱,以及將.dll 檔案安裝在全域組件快取。全域組件快取 (GAC) 可讓您跨多個應用程式共用組件。GAC 會自動安裝與.NET 執行階段。 元件通常會儲存在 C:\WINNT\Assembly 中。

若要將組件安裝在 GAC 中,您必須提供組件增強式 (也就是全域唯一) 名稱。實際上,不一個名稱但密碼編譯雜湊金鑰或簽章。強式名稱可確保正確的元件版本控制有助於防止具有相同的名稱與彼此或耗用的應用程式在不正確地使用發生衝突的元件。

需求

下列項目描述建議的硬體、 軟體、 網路基礎結構、 技能和知識及您需要的服務套件:
  • 安裝共用組件之電腦的系統管理員權限
先前所需的知識:
  • 在.NET 中的組件的一般熟悉
  • 一般熟悉的工具從命令列提示字元

全域組件快取

如果要使用 Visual Studio.NET 或 Visual 的 Studio 2005,再產生強式名稱,並在全域組件快取中安裝專案的.dll 檔建立小型類別庫專案,請依照下列步驟執行:
  1. 開啟 Visual Studio.NET 或 Visual Studio 2005。
  2. 建立新的類別庫專案,名為 GAC 在 Visual Basic.NET 或 Visual Basic 2005 中。
  3. 需要強式名稱。若要產生這個密碼編譯金鑰組,使用 SN 工具位於 \bin 子目錄中,.NET Framework 方案開發 o 人 h 員 ? 工 u 具 ? 套件 (SDK) 的安裝位置。SN 工具是非常容易使用。命令列的陳述式採用下列形式:
    sn k C:\[DirectoryToPlaceKey]\[KeyName].snk"
  4. 為了方便起見,建立目錄,名為 GACDemo C:\ 中,讓您可以輕易地找出機碼和存取金鑰從命令提示字元。

    注意: 大多數使用者對.NET 工具位於 C:\Program Files\Microsoft.NET\FrameworkSDK\Bin。您輸入下列 SN 指令前您可能要將您的電腦上此相似路徑複製到.NET bin 目錄、 輸入 cd 從命令提示字元、 貼上路徑上按一下滑鼠右鍵並按 ENTER,若要快速變更 SN 工具所在的目錄。

    輸入下列命令:
    sn k C:\GACDemo\GACkey.snk"
    附註.NET Framework 2.0 的.NET 工具位於 C:\Program Files\Microsoft.NET\SDK\v2.0\Bin 資料夾中。
  5. 會產生一個索引鍵,但它不還與專案的組件相關聯。若要建立此關聯,連按兩下 Visual Studio.NET 或 Visual Studio 2005 方案總管] 中的 AssemblyInfo.vb 檔案]。將下列程式碼加入至預設會包含在這個檔案在 Visual Studio.NET 或 Visual Studio 2005 中建立專案的組件屬性的清單:
    < 組件: AssemblyKeyFile("C:\GACDemo\GACKey.snk") >
    藉由按一下 CTRL + SHIFT + B 編譯專案。沒有進一步的程式碼是必要此時若要安裝在 GAC 中的.dll 檔案。
  6. 使用 Gacutil 工具,或將.dll 檔案拖曳到適當的目錄,您可以安裝.dll 檔案。如果您使用 Gacutil 工具,您可以使用下列命令:
    gacutil-我 C:\[PathToBinDirectoryInVSProject]\gac.dll"
    如果要將檔案拖曳使用 Microsoft Windows 檔案總管。 開啟 [Windows 檔案總管的兩個執行個體。在其中一個,巡覽至主控台專案的.dll 檔輸出位置。在其他,巡覽至 c:\[SystemRoot]\Assembly。

    將您的.dll 檔拖曳至資料夾。

完成 (AssemblyInfo.vb) 程式碼範例的程式碼

Imports System.Reflection
Imports System.Runtime.InteropServices

<Assembly: AssemblyTitle("")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("")> 
<Assembly: AssemblyProduct("")> 
<Assembly: AssemblyCopyright("")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 
<Assembly: AssemblyKeyFile("C:\GACDemo\GACKey.snk")> 

<Assembly: Guid("E3492A62-5389-4286-94A3-1331CC29EA6D")> 
<Assembly: AssemblyVersion("1.0.*")> 
				

驗證

  1. 啟動 Windows 檔案總管]。
  2. 瀏覽至 C:\WINNT\assembly。
  3. 在已安裝的.dll 檔案的清單中找到 GAC。

參考

如需詳細資訊請造訪下列 Microsoft 網站]:
安裝到全域組件快取的組件
http://msdn2.microsoft.com/en-us/library/dkkx7f79(vs.71).aspx
全域組件快取
http://msdn2.microsoft.com/en-us/library/yf1d93sz(vs.71).aspx

全域組件快取工具 http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx

屬性

文章編號: 315682 - 上次校閱: 2007年5月11日 - 版次: 6.8
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
關鍵字:?
kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB315682 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:315682
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com