安装到 GAC 中的程序集未显示在 Visual Studio 中
这听起来与这个问题相关,但是它们不是同一件事。该问题没有出现任何程序集。我的除了我安装的那个之外什么都有。
我希望有人能解决这个问题......我做错了什么吗?还是我在VS中发现了一些bug?
我在 Windows 7 Ultimate 上使用 Visual Studio 2010 Professional Beta 2。我刚刚下载了 Rhino Mocks 并决定使用命令行实用程序 GACUTIL 将其安装到 GAC 中。然后我重新启动。
您可以在此处看到我的 GAC 中的程序集(点击放大):
以下是 Visual Studio 中可用的程序集列表:
这是我安装它的命令提示符,然后确认:
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
This sounds related to this question, but they aren't the same thing. That question had no assemblies showing up. Mine has everything except the specific one I installed.
I'm hoping someone has a solution to this... am I doing something wrong? Or did I find some bug in VS?
I am using Visual Studio 2010 Professional Beta 2 on Windows 7 Ultimate. I just downloaded Rhino Mocks and decided to install it into the GAC using the command-line utility GACUTIL. I then rebooted.
Here you can see the assembly in my GAC (click to enlarge):
And here is the list of assemblies available to me in Visual Studio:
Here is the command prompt where I installed it, and then confirmed it:
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Visual Studio 从不列出 GAC 中的所有项目。它仅列出特定注册表项中注明的项目。
有关详细信息,请参阅此知识库文章:如何在“添加引用”对话框中显示程序集
您始终可以通过浏览磁盘上的程序集来添加对程序集的引用。
Visual Studio never lists all items in the GAC. It only lists items that are noted in a particular registry key.
Please see this knowledge base article for more info: How to display an assembly in the "Add Reference" dialog box
You can always add a reference to the assembly by browsing to it on disk.
我创建了一个完全免费的工具,它将帮助您实现目标。 Muse VSReferences 将允许您添加全局通过“添加 GAC 引用”菜单项来缓存对项目的引用。
I've created a tool which is completely free, that will help you to achieve your goal. Muse VSReferences will allow you to add a Global Assembly Cache reference to the project from Add GAC Reference menu item.
Visual Studio“添加引用”对话框独立于 GAC:它查找程序集的文件夹实际上由 AssemblyFolders 注册表项控制。并非 GAC 中出现的所有内容都出现在“添加引用”中(相反,“添加引用”中并非所有内容都在 GAC 中)。
要添加对 Rhino Mocks DLL 的引用,只需转到“浏览”选项卡,导航到安装/解压缩/构建 Rhino Mocks 的位置,然后从那里选择 DLL。
The Visual Studio Add Reference dialog is independent of the GAC: the folders it looks in for assemblies is actually controlled by the AssemblyFolders registry key. Not everything that appears in the GAC appears in Add Reference (and conversely not everything in Add Reference is in the GAC).
To add references to the Rhino Mocks DLLs, just go to the Browse tab, navigate to the location where you installed/unzipped/built Rhino Mocks, and select the DLL(s) from there.
您可以从 NuGet 安装 WebForms 和 WinForms 的报表查看器 DLL:
You can install the Report Viewer DLLs for both WebForms and WinForms from NuGet:
接受的答案没有解决这个问题,说明根据如何:添加略有更改或使用“添加引用”对话框删除引用
已在 Windows 10 上测试并使用 Visual Studio 2017 Enterprise
Accepted answer didn't resolve this, instructions have changed slightly according to How to: Add or Remove References By Using the Add Reference Dialog Box
Tested and working with Visual Studio 2017 Enterprise on Windows 10