HOWTO: 在“添加引用”对话框中显示需要的Assembly
周日也没“休息”,昨晚和老同学夜打魔兽,睡到将近中午。下午参考了两篇文章整理了关于GAC和在“添加引用”对话框中显示需要的Assembly所要做的工作。其实就是在部署自己的EntLib时遇到的问题。
This issue is not resolved if you install your assembly to the Global Assembly Cache (GAC), because the Add Reference dialog box is path-based and does not enumerate the components from the GAC.
“添加引用”对话框是基于路径工作的,而这个路径实在注册表中的几个地方指定的。这个对话框不会列举GAC中的组件。
方法1.在注册表中添加相关的键。
相关的注册表键:
1) HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders
2) HKEY_CURRENT_USER\SOFTWARE\Microsoft\.VisualStudio\7.1\AssemblyFolders
3) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders
4) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.VisualStudio\7.1\AssemblyFolders
使用方法1)、2)、3)、4)相似,以1)为例。
在1)处添加新的注册表键,键名随便起(当然便于识别管理为好),键值就是Assembly所在的物理路径;
我注意到有的组件安装后,会自动在1)、2)两个地方都添加对应的键(如Current Managed DirectX 9.3、DevExpress.NET),而有的只添在其中之一。Reference 1所指示的是只使用1),而Reference 2中似乎也不确定。因为不影响大致的结果,所以暂时没有去查二者的区别在哪里,希望知道的同志给予指点。
3)、4)和1)、2)的却别只是在于HKEY_LOCAL_MACHINE 和HKEY_CURRENT_USER,前者将改变系统上的所有用户的设置,而后者仅影响当前用户的设置。
方法2.将要引用的Assembly拷贝到
C:\WINNT\Microsoft.NET\Framework\v1.1.4322\
(.NET Framework 被安装的位置)
方法3.将要引用的Assembly拷贝到
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\PublicAssemblies
(VS.NET 2003 被安装的位置)
此方法实际是使用安装VS.NET后自动提供的键Public Assemblies:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.VisualStudio\7.1\AssemblyFolders\PublicAssemblies
Reference:
1.How to see your GAC-assemblies in the "add reference" dialog
December 16, 2003
December 16, 2003
2.How to display an assembly in the Add Reference dialog box
July 16, 2004
July 16, 2004

浙公网安备 33010602011771号