此程序集位于GAC中:Microsoft.SqlServer.Management.RegisteredServers.dll
如何在Visual Studio中添加对此程序集的引用?
我可以在c:\ windows \ assembly \
中查看该文件答案 0 :(得分:55)
正如其他人所说,大部分时间你都不想这样做,因为它不会将程序集复制到你的项目中,也不会随你的项目一起部署。但是,如果您像我一样,并尝试添加所有目标计算机在其GAC中的引用,但它不是.NET Framework程序集:
我不知道是否有更简单的方法,但我还没有找到它。我还经常使用步骤1-3将.pdb文件与其GAC程序集放在一起,以确保在以后需要使用远程调试程序时它们不会丢失。
答案 1 :(得分:14)
我创建了一个完全免费的工具,可以帮助您实现目标。 Muse VSReferences将允许您从Add GAC Reference菜单项添加项目的Global Assembly Cache参考。
希望这有助于Muse VSExtensions
答案 2 :(得分:13)
将程序集注册到GAC中不会在“添加引用”对话框中放置对程序集的引用。您仍然需要按项目的路径引用程序集,主要区别在于您不需要使用copy local选项,您的应用程序将在运行时找到它。
在这种特殊情况下,您只需要按路径引用程序集(浏览),或者如果您真的想在添加引用对话框中使用它,则可以在其中添加其他路径。
请注意,如果您将应用程序发送给未安装此程序集的人,则需要发送它,在这种情况下,您确实需要使用SharedManagementObjects.msi可再发行组件。
答案 3 :(得分:7)
在VS2010中,在Add Rerences窗口中,您可以单击“浏览”并导航到C:\ Windows \ Assembly并添加对所需程序集的引用。请注意,这些文件可能会分组在不同的文件夹下,如GAC,GAC_32,GAC_64,GAC_MSIL等。
答案 4 :(得分:5)
在VS中,右键单击您的项目,选择“添加引用...”,您将看到GAC中存在的所有命名空间。选择Microsoft.SqlServer.Management.RegisteredServers并单击OK,你应该好好去
编辑:
这就是你想要在大多数时间里做这件事的方式。但是,经过一番探索,我在MS Connect上发现了this issue。 MS表示这是一个已知的部署问题,他们没有解决方法。该家伙说,如果他从GAC文件夹中复制dll并将其放入他的垃圾箱,它就可以了。
答案 5 :(得分:4)
对我有用的唯一方法是将dll复制到桌面或其他内容,添加对它的引用,然后从桌面删除dll。 Visual Studio将自行刷新,最终将从GAC引用dll。
答案 6 :(得分:3)
假设您已尝试“添加参考...”,如上所述但未成功,您可以查看here。他们说你必须满足一些先决条件: - .NET 3.5 SP1 - Windows Installer 4.5
编辑:根据这个post,这是一个已知的问题。
this可能是您正在寻找的解决方案:)
答案 7 :(得分:1)
回答可能为时已晚,但我找到了一种非常简单的方法(没有黑客攻击)。
希望有所帮助
答案 8 :(得分:0)
答案 9 :(得分:0)
我在VS 2013 Vitevic GAC Reference找到了此扩展程序。