安装到GAC中的程序集未显示在Visual Studio中

时间:2010-01-01 01:49:49

标签: visual-studio-2010 gac gacutil

这听起来与this question有关,但它们不是一回事。该问题出现了 no 程序集。除了我安装的特定部件之外,我的所有东西都有。

我希望有人能解决这个问题......我做错了吗?或者我在VS中发现了一些错误?

我在Windows 7旗舰版上使用Visual Studio 2010 Professional Beta 2。我刚刚下载了Rhino Mocks并决定使用命令行实用程序GACUTIL将其安装到GAC中。然后我重新启动。

您可以在此处查看我的GAC中的程序集(点击放大):

alt text

以下是Visual Studio中可用的程序集列表:

alt text

这是我安装它的命令提示符,然后确认它:

C:\Users\jason\Downloads>gacutil -i Rhino.Mocks.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.21006.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

C:\Users\jason\Downloads>gacutil /l |grep -i rhino
Rhino.Mocks, Version=3.6.0.0, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL

5 个答案:

答案 0 :(得分:39)

Visual Studio永远不会列出GAC中的所有项目。它仅列出特定注册表项中记录的项目。

有关详细信息,请参阅此知识库文章:How to display an assembly in the "Add Reference" dialog box

您始终可以通过在磁盘上浏览来添加对程序集的引用。

答案 1 :(得分:16)

我创建了一个完全免费的工具,可以帮助您实现目标。 Muse VSReferences将允许您从Add GAC Reference菜单项中向项目添加Global Assembly Cache引用。

答案 2 :(得分:5)

Visual Studio“添加引用”对话框独立于GAC:它查找程序集的文件夹实际上由AssemblyFolders注册表项控制。并非GAC中显示的所有内容都显示在“添加引用”中(相反,“添加引用”中的所有内容都不在GAC中)。

要添加对Rhino Mocks DLL的引用,只需转到Browse选项卡,导航到安装/解压缩/构建Rhino Mocks的位置,然后从那里选择DLL。

答案 3 :(得分:0)

您可以从NuGet安装WebForms和WinForms的Report Viewer DLL:

nuget> Install-Package Microsoft.ReportViewer

答案 4 :(得分:0)

接受的答案没有解决此问题,说明根据How to: Add or Remove References By Using the Add Reference Dialog Box

略有变化
  

对于32位操作系统,请添加以下注册表项之一。

     
      
  • [HKEY_CURRENT_USER \ SOFTWARE \微软\ .NETFramework \ VersionMinimum \ AssemblyFoldersEx \ MyAssemblies] @ = “ AssemblyLocation
  •   
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ .NETFramework \ VersionMinimum \ AssemblyFoldersEx \ MyAssemblies] @ = “ AssemblyLocation
  •   
     

对于64位操作系统,请在32位注册表配置单元中添加以下注册表项之一。

     
      
  • [HKEY_CURRENT_USER \ SOFTWARE \ Wow6432Node \微软\ .NETFramework \ VersionMinimum \ AssemblyFoldersEx \ MyAssemblies] @ = “ AssemblyLocation
  •   
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\ .NETFramework \    VersionMinimum \ AssemblyFoldersEx \ MyAssemblies] @ = “ AssemblyLocation
  •   
     

VersionMinimum 是适用的最低.NET Framework版本。如果 VersionMinimum 是v3.0,则AssemblyFoldersEx中指定的文件夹将应用于以.NET Framework 3.0及更高版本为目标的项目。

     

AssemblyLocation 是要在添加引用对话框中显示的程序集的目录,例如,C:\ MyAssemblies。

     

在HKEY_LOCAL_MACHINE节点下创建注册表项允许所有用户在添加引用对话框中查看指定位置的程序集。在HKEY_CURRENT_USER节点下创建注册表项仅影响当前用户的设置。

     

再次打开添加参考对话框。程序集应出现在 .NET 选项卡上。如果没有,请确保程序集位于指定的 AssemblyLocation 目录中,重新启动Visual Studio,然后重试。

在Windows 10上测试并使用Visual Studio 2017 Enterprise