2016-09-29 25 views
3

在选择工具箱项的菜单项的.NET Framework组件选项卡我有重复组件:enter image description here如何从Visual Studio中删除重复的程序集选择“工具箱项目”对话框?

装配加载完整的代码可以发现here,但其主要思想是以下几点:

  • 探针组件在用户文档
  • 探头组件在VS扩展
  • 包装组件邻近探针组件
  • 负载工具箱项到工具箱通过调用IToolboxService.AddToolboxItem()方法

真正加载的实际dll是v16.1.2.0。
v15.1.1.100和15.1.2.0不存在于磁盘上,我无法在我的磁盘和注册表中找到这些基本程序集的任何跟踪。

如何从列表中删除过期条目?

+0

对话框显示程序集的加载位置,您是否尝试从其中一个位置删除它,重新启动Visual Studio并检查它是否消失?例如: 例如:第一个从位于appdata \ local \ microsoft下的VS扩展中加载。\ .. \ w012gia.g0f –

回答

2

这种情况是由破损的工具箱缓存引起的。

为了解决这个问题,请尝试以下操作:

  • 关闭所有VS
  • 围棋的情况下做%LOCALAPPDATA%\Microsoft\VisualStudio\NN.N,其中NN.N是你使用
  • 删除所有文件*.tbd扩展VS版本。这些文件是隐藏的,因此请确保启用the approprate setting
+0

我相信你的意思是'%LOCALAPPDATA%\ Microsoft \ VisualStudio \ NN.N'。不,没有这个扩展名的文件,我从来没有在任何版本的任何“Microsoft \ VisualStudio”文件夹中看到这样的文件。 – MikhailTymchukDX

+1

@MikhailTymchukDX这些是隐藏文件。只要确定 - 你有“显示隐藏文件”打开? –

+0

废话,他们确实隐藏了!我向他们展示了,删除了,工具箱现在就可以了。谢谢!有趣的是,我几次阅读这个答案并始终认为它应该是可见的。你能否编辑你的答案以明确表明这一点? – MikhailTymchukDX

0

玩弄的Gacutil.exe实用程序:https://msdn.microsoft.com/en-US/library/ex0ss12c(v=vs.110).aspx

你,也许,需要运行gacutil.exe /l让所有组件的列表,然后找到那些你想要删除,然后用相应的值运行gacutil.exe /ur ...

+0

感谢您提供此技巧,但这些程序集不是GAC。 'Global Aseembly Cache'列标题可能令人困惑,但我的程序集从您可以在屏幕截图中看到的路径加载到工具箱中,并且我不会调用'gacutil'来以系统方式注册程序集。 – MikhailTymchukDX

0

这些是已注册的设计时组件/控件。这些在注册表在以下位置对每个.NET框架AssemblyFoldersEx

这里指定下是位置

[HKCU or HKLM]\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v{version}\AssemblyFoldersEx 
[HKCU or HKLM]\SOFTWARE\Microsoft\.NETFramework\v{version}\AssemblyFoldersEx 

[HKCU or HKLM]\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Silverlight\v3.0\AssemblyFoldersEx 
[HKCU or HKLM]\SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v3.0\AssemblyFoldersEx 

通过去除子密钥中删除任何重复。

希望这会有所帮助。

相关问题