我在“选择工具箱项”菜单项的“.NET Framework组件”选项卡中有重复的程序集:
可以找到装配加载的完整代码here,但主要想法如下:
IToolboxService.AddToolboxItem()
方法真正加载的实际dll是v16.1.2.0 v15.1.1.100和15.1.2.0在磁盘上不存在,我在磁盘和注册表中找不到这些基本程序集的痕迹。
如何从列表中删除过期的条目?
答案 0 :(得分:2)
这种情况是由工具箱缓存损坏引起的。
要解决此问题,请尝试以下操作:
%LOCALAPPDATA%\Microsoft\VisualStudio\NN.N
,其中NN.N
是你正在使用的VS的版本*.tbd
的文件。这些文件是隐藏的,因此请确保您已启用the approprate setting。答案 1 :(得分:0)
使用gacutil.exe实用程序:https://msdn.microsoft.com/en-US/library/ex0ss12c(v=vs.110).aspx
您可能需要运行gacutil.exe /l
来获取所有程序集的列表,然后找到要删除的程序集,然后运行gacutil.exe /ur ...
各自的值。
答案 2 :(得分:0)
这些是注册的设计时组件/控件。这些是在 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
删除子键删除所有重复项。
希望这有帮助。