如何在visual studio的“添加引用”对话框中显示自己的程序集(很久以前网上找的,不记得出处了,对不起原版作者了。。)

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  

 

 

下面是原创哈哈:

对于silverlight的程序集引用是不同的:

相应注册表为:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\[版本号]\AssemblyFoldersEx

posted @ 2009-12-30 10:33  老肖想当外语大佬  阅读(885)  评论(0编辑  收藏  举报