將 DLL 安裝到全域性程式集快取 GAC

2022-09-15 21:21:22 字數 1476 閱讀 2407

本文提供如何將 dll 安裝到全域性程式集快取(gac)的簡單示例。

你可能想這樣做的原因有以下幾個:

程式集的共享和版本控制

該元件可用於由乙個以上的應用程式,可能需要不止乙個版本的程式集。多個版本可以同時存在於 gac 中。

安全性gac 放置在系統根中應用了多數的沙箱外安全特性。您不需要在多處放置它。

程式集查詢

在查詢本地資料夾之後在 gac 中查詢**庫資訊。

建立乙個強名稱金鑰對:

首先,我們需要建立乙個強名稱金鑰檔案。 這將使用的命令格式為:sn –k 檔名與位。 下面是乙個示例。 建立了乙個包括公鑰與私鑰的金鑰對。

使用 visual studio 對程式集進行簽名

給程式集簽名非常簡單 - 你也可能使用較麻煩的程式集鏈結器,但那完全沒必要。右鍵點選解決方案資源管理器中的專案節點,選擇屬性。在「簽名」(signing)的選項卡中勾選「為程式集簽名」(sign the assembly)。在下面的下面列表中選擇您的金鑰檔案。在這個示例中,我已經將金鑰檔案複製到了與 reportingutilitites dll 生成相同的 bin\debug 資料夾中。

安裝到 gac

現在我們有了乙個已簽名可安裝到 gac 的程式集。 執行 visual studio 命令提示 (在 visual studio tools 中) 並寫下面的指令: gacutil –i 程式集名稱 >。 在本示例中我將當前命令提示資料夾定位到了 dll 所在資料夾 - 您可以也這麼做或是在程式集名稱裡輸入完整路徑。

在 msi 中安裝程式集到 gac

在產品環境中,現實情況是,你沒有安裝 visual studio 環境。

不用擔心。 安裝乙個 dll 到 gac 仍然很簡單 - 你只需要建立乙個部署專案。

在 visual studio 中新增乙個新的部署專案到您的解決方案中。

該專案也將增加.net框架的啟動條件。 確保該版本設定的版本將是在目標機器上,因為它會預設為您的開發機器上的最新版本 (這可能是更高的)。

更改版本:

現在你可以生成你的專案並複製檔案到您需要安裝 dll 的環境中了。

將程式集安裝到全域性程式集快取中

1 在vs2010中建立乙個類庫專案 我使用的.net版本是2.0 定義專案名為 gacdemo,並將其編譯為dll。2 將dll安裝到gac中必須使用強名稱。建立乙個強命名程式集首先需要獲得乙個用強命名實用工具 strong name utility,即sn.exe,net sdk自帶 產生的金鑰...

將程式集新增到全域性程式集快取

自已建立了乙個封裝自定義控制項的類庫,如果想讓它裡面的控制項在每個新開啟 的工具箱中都自動出現,可以將類庫編譯的程式集新增到全域性應用程式集快取gac中 c windows assembly 新增的前提條件 需要為類庫專案建立簽名,方法是 在專案的屬性視窗中選擇 簽名 然後選中 為程式集簽名 核取方...

將dll新增到assembly 全域性程式集快取

1.copy到目錄裡 2.沒有許可權的時候 net自帶的乙個工具可以將dll註冊到gac中去的,gacutil.exe。開始選單 microsoft visual studio 2010 visual studio tools visual studio 命令提示 2008 在控制台中輸入 gacu...