如何从 Visual Studio 选择工具箱项对话框中删除重复的程序集?
How to remove duplicated assemblies from the Visual Studio Choose Toolbox Items dialog?
我在“选择工具箱项”菜单项的 .NET Framework 组件选项卡中有重复的程序集:
可以找到程序集加载的完整代码here,但主要思想如下:
- 用户文档中的探针组件
- VS 扩展中的探针组件
- 封装组件附近的探针组件
- 通过调用
IToolboxService.AddToolboxItem()
方法将工具箱项加载到工具箱中
真正加载的dll是v16.1.2.0.
v15.1.1.100 和 15.1.2.0 在磁盘上不存在,我在磁盘和注册表中找不到这些基本程序集的任何踪迹。
如何从列表中删除过时的条目?
使用 gacutil.exe 实用程序:https://msdn.microsoft.com/en-US/library/ex0ss12c(v=vs.110).aspx
您可能需要 运行 gacutil.exe /l
来获取所有程序集的列表,然后找到您要删除的程序集,然后 运行 gacutil.exe /ur ...
使用相应的程序集值。
这种情况是工具箱缓存损坏造成的。
要修复它,请尝试以下操作:
- 关闭 VS 的所有实例
- 执行
%LOCALAPPDATA%\Microsoft\VisualStudio\NN.N
,其中 NN.N
是您使用的 VS 版本
- 删除所有扩展名为
*.tbd
的文件。这些文件是隐藏的,因此请确保您已启用 the approprate setting。
这些是注册的设计时程序集/控件。这些在 AssemblyFoldersEx
下的每个 .NET 框架的以下位置的注册表中指定
这是地点
[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
通过删除子键删除所有重复项。
希望对您有所帮助。
我在“选择工具箱项”菜单项的 .NET Framework 组件选项卡中有重复的程序集:
可以找到程序集加载的完整代码here,但主要思想如下:
- 用户文档中的探针组件
- VS 扩展中的探针组件
- 封装组件附近的探针组件
- 通过调用
IToolboxService.AddToolboxItem()
方法将工具箱项加载到工具箱中
真正加载的dll是v16.1.2.0.
v15.1.1.100 和 15.1.2.0 在磁盘上不存在,我在磁盘和注册表中找不到这些基本程序集的任何踪迹。
如何从列表中删除过时的条目?
使用 gacutil.exe 实用程序:https://msdn.microsoft.com/en-US/library/ex0ss12c(v=vs.110).aspx
您可能需要 运行 gacutil.exe /l
来获取所有程序集的列表,然后找到您要删除的程序集,然后 运行 gacutil.exe /ur ...
使用相应的程序集值。
这种情况是工具箱缓存损坏造成的。
要修复它,请尝试以下操作:
- 关闭 VS 的所有实例
- 执行
%LOCALAPPDATA%\Microsoft\VisualStudio\NN.N
,其中NN.N
是您使用的 VS 版本 - 删除所有扩展名为
*.tbd
的文件。这些文件是隐藏的,因此请确保您已启用 the approprate setting。
这些是注册的设计时程序集/控件。这些在 AssemblyFoldersEx
下的每个 .NET 框架的以下位置的注册表中指定这是地点
[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
通过删除子键删除所有重复项。
希望对您有所帮助。