1.dll添加到GAC,在C:/WINDOWS/assembly下可以看到,但在添加引用裡看不到
方案一:在“添加引用”對話方塊中顯示程式集
即使已將程式集安裝到全域組件快取 (GAC) 中,“添加引用”對話方塊也不會自動顯示每個程式集。“添加引用”對話方塊基於路徑並要求添加註冊表項,該項指定要顯示的程式集的位置。
在“添加引用”對話方塊中顯示程式集
添加以下登錄機碼之一,其中 <AssemblyLocation> 是要在“添加引用”對話方塊中顯示的程式集目錄,例如 C://MyAssemblies。
[HKEY_CURRENT_USER/SOFTWARE/Microsoft/.NETFramework/<version>/AssemblyFoldersEx/MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/<version>/AssemblyFoldersEx/MyAssemblies]@="<AssemblyLocation>"
注意
在 HKEY_LOCAL_MACHINE 登錄區下建立登錄機碼以後,所有使用者都可以在“添加引用”對話方塊的指定位置看到程式集。在 HKEY_CURRENT_USER 登錄區下建立登錄機碼只會影響目前使用者的設定。
重新啟動 Visual Studio。
方案二:可以把你的DLL複製到.NET Framework目錄(%WINDIR%/Microsoft.NET/Framework/v1.x.yyyy)中,這樣的話.可以達到你的目的. 但是,MS建議我們不應該將自己的assembly拷貝到Framework目錄中。一個更好的方法就是把它們放在一個單獨的目錄中,然後給Windows Registry添加一個key,告訴VS.NET在哪裡可以找到這些assembly。除了核心的Framework assembly外,VS.NET也可以顯示在以下這些Registry key中列出的目錄中的任何assembly:HKEY_CURRENT_USER/Software/Microsoft/.NETFramework/AssemblyFolders
HKEY_LOCAL_MACHINE/Software/Microsoft/.NETFramework/AssemblyFolders
HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/7.1/AssemblyFolders
HKEY_LOCAL_MACHINE/Software/Microsoft/VisualStudio/7.1/AssemblyFolders