2011-04-02 123 views
8

我嘗試在GAC中使用 new System.EnterpriseServices.Internal.Publish().GACInstall("Foo.dll");安裝程序集但是我找不到安裝在c:\ windows \ assembly \ gac_msil文件夾中的程序集。我也沒有收到安全漏洞。任何人都可以幫我在GAC中安裝程序集

回答

11

首先,確保它已簽名。我認爲這是因爲你沒有得到任何例外。 .NET 4.0 has a new GAC, why?

UPDATE:簽約大會

此外,如果它是一個.NET 4.0組件,將在新的位置@%WINDIR%\ Microsoft.NET \裝配\

更多關於此這裏GACed

右鍵單擊裝配項目並轉到「屬性」。在「項目屬性」屏幕上,選擇「簽名」選項卡。選中「簽署程序集」並在「選擇強名稱密鑰文件」中選擇「新建」。這將打開一個對話框,您必須指定密鑰名稱。我通常使用解決方案名稱作爲我的關鍵名稱。您還可以密碼保護密鑰(您的偏好)。完成後,點擊對話框中的「確定」並建立您的項目。現在嘗試再次進行GAC。

快速建議:如果項目中有多個程序集想要GAC,則可以共享相同的密鑰文件,而不必爲每個程序集生成一個新的程序集。我通常將我的密鑰文件放在我的解決方案文件所在的同一位置,並在解決方案中的各個項目中共享。

+0

感謝您的信息。我有.net3.5,並在Windows資源管理器(C:\ windows \ assemby)中檢查,我無法找到它。但我不知道簽名。你可以讓我知道如何簽署一個託管的DLL – 2011-04-02 03:58:38

+0

當然。我只是通過快速指示更新了我的回覆。 – 2011-04-02 04:07:52

+0

工程謝謝你。 – 2011-04-02 04:37:07

相關問題