Shell扩展:不在Windows资源管理器上下文中显示

40

我使用的是Windows 7 Professional x64操作系统,安装了Visual Studio 2010 Premium和Visual Studio 2012 Premium。

我安装了TFS Power Tools Decemeber 2011,并在安装后重新启动电脑。然后我从TFS 2010中检出一个文件夹,但当我右键单击文件夹时,Windows资源管理器上并没有出现TFS菜单项。

我甚至尝试了卸载、重启电脑、重新安装并再次重启电脑等方法,但问题依旧。

我按照这里(TFS Power Tools: Shell Extension : Context Menu Quirky and TFS Icons on Files/Folders missing)所述的步骤进行操作,但问题仍然存在。请问还有什么方法可以让TFS菜单项出现在右键菜单中吗?

提前致谢!


我遇到了你指定的环境中完全相同的问题。我认为TfsShellExt.dll文件和注册表条目存在问题。我认为如果我们安装旧版本,需要的注册表条目将被创建,然后我们可以安装最新版本。 - AMissico
请检查您是否拥有一个指向{DEF52C03-E6D8-4b47-BD08-DF416EF3E950} GUID的HKCR\Directory\Background\shellex\ContextMenuHandlers\TFSContextMenu键和一个指向该GUID的HKCR\AllFileSystemObjects\shellex\ContextMenuHandlers\TFSContextMenu键。 - Simon Mourier
@SimonMourier-我检查了密钥,每个都有正确的GUID。然而,这些GUID不在注册表中。我在另一台计算机的CLSID部分找到了这些GUID。然后我导出了这些密钥并导入到其他计算机上,但没有成功。请注意,曾经显示图标的另一台计算机现在已经不再显示。 - AMissico
@KP1,Windows资源管理器上下文菜单是否显示“Team Foundation Server”?在我的情况下,TFS在Windows资源管理器上下文菜单中可见,但默认情况下无法连接。 - Pranav Singh
无论我遵循什么指示,也无论基于我广泛的个人电脑和Windows知识,我都没能让它们正常工作。然而上周的某一天,我在另一个驱动器上创建了一个工作区,图标就出现了。我点击了刷新按钮,它们又消失了。但是,该工作区根文件夹的图标仍然显示着。 - AMissico
我使用 SUBST A:\ C:\DEV_\APP 以便从短路径中工作,获得许多好处。但是,如果我访问 "A:\Ws_" 文件夹,则图标不会显示,但如果我访问 "C:\DEV_\APP\Ws_" 文件夹,则会显示。 - AMissico
7个回答

22

我不确定这是否会有所帮助,或者您是否愿意使用新版本,但是我与您遇到了完全相同的环境和问题。

我的做法是卸载旧的TFS Power Tools(在控制面板/程序和功能中列出带有“Microsoft Team Foundation Server”前缀和/或“Microsoft Visual Studio Team Foundation Server”),并安装一个新的RTM版本。您可以在http://www.microsoft.com/en-nz/download/details.aspx?id=35775 下载它们,并按照下面列出的顺序安装以下内容:

  1. Team Foundation Server 2012 RTM Power Tools.msi
  2. Visual Studio Team Foundation Server 2012 Update 1 Power Tools.msi
  3. Visual Studio Team Foundation Server 2012 Update 2 Power Tools.msi

在开始之前关闭Visual Studio,安装后重新启动,然后你应该看到你的上下文菜单以及绿色箭头,表示它在TFS中。

这是它的截图:

enter image description here

另请注意,在安装后,根据此帖子的建议,这种情况不会立即发生:TFS Power Tools: Shell Extension : Context Menu Quirky and TFS Icons on Files/Folders missing

TfsComProviderSvr.exe有时需要一段时间来检查本地文件夹是否是工作区并注册shell扩展。

因此,这取决于许多变量,包括您的TFS服务器速度、您的机器速度和您的网络速度。在我的情况下,我将其留了过夜以完全显示所有内容。


答案取决于安装TFS Power Tools 2012,但我有些犹豫。 - AMissico
嗨,Amissico,你犹豫的原因是什么?在我看来,安装RTM比更改注册表条目更安全。 - Raymund
因为我们没有 TFS 2012,也还没有开始使用 VS 2012。我还没有看到可以使用的信息。 - AMissico
1
啊哦,根据你上面的评论“我在使用你指定的环境时遇到了完全相同的问题”,我原本以为你在使用VS2012。不管怎样,我也没有TFS2012,但它可以工作。 - Raymund

15

在Windows系统中,存在一个可以支持的覆盖图标数量限制。我安装了Google Drive、OneDrive和Dropbox之后,发现TFSOverlay被推到了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer \ShellIconOverlayIdentifiers的底部。

你可以通过以下两种方式来解决这个问题:

  1. 卸载一些覆盖应用程序(例如:删除Google Drive或Dropbox)
  2. 将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer \ShellIconOverlayIdentifiers中的TFS文件夹重命名为以数字开头,以便它们具有优先级(例如:“1TfsOverlayAdd”,“2TfsOverlayEdit”等)。

此外,在文件夹资源管理器中出现绿色图标可能会有一定的延迟,请耐心等待。


我的文件名开头有字母“z”,我把它删掉并重新启动了Windows资源管理器。 - Manny

5

我曾经遇到同样的问题,后来执行了这个文件:

C:\Program Files (x86)\Microsoft Team Foundation Server 2012 Power Tools\TfsComProviderSvr.exe

几分钟后菜单就出现了。


我认为我的已经在运行了,但是停止它并重新启动似乎可以“修复”问题。 - redcalx

4

当您在不同的凭据下运行Visual Studio时(即具有管理员特权的帐户),与登录用户不同时也会出现此问题。以相同用户登录会正确显示ShellExtension。但这里并没有这个选项...

我尚未找到解决方案。能够为TfsComProviderSvr.exe设置一些选项将是一个不错的功能,这样就可以让它监视工作区文件夹,以供不同于登录用户的“团队成员”使用...

我尝试使用其他凭据运行Explorer.exe,但这不会生成新的TfsComProviderSvr.exe。手动使用不同凭据启动它似乎也不起作用。始终会为当前登录的用户重新生成TfsComProviderSvr.exe的实例。


我这里也有同样的问题。 - freggel
1
我结束了“TfsComProviderSvr.exe”进程,结束了“explorer.exe”进程,然后通过任务管理器启动了“explorer.exe”,这样TFS Power Tools功能就恢复了。这比重新启动快得多。请注意,在我的情况下,我没有不同的用户凭据。 - granadaCoder

2
原谅我说一些显而易见的话,但是我也遇到了类似的问题,在我的情况下,似乎默认选择的安装功能与我预期的不同。
我使用“修改”而不是“修复”重新运行了安装程序,并确认选择了安装Windows Shell Extension功能。

Setup Screenshot

我正在运行类似的环境(VS 2010 Shell与VS 2013 Professional)。也许这会影响默认设置。
这是我使用的Power Tools Installer

1

我遇到了类似的问题,我卸载了旧版本,但这样做会产生一些问题,因为你必须停止TFS进程和explorer进程,但是一旦卸载了旧版本,你可以重新启动explorer。

总之,最新版本对我有效,我不需要调整任何reg值。


谢谢分享。但是我无法安装你提到的那个,因为我正在使用TFS 2010。 - KI1
@ 到底是什么问题?版本没有改变,下载链接对我来说是有效的。 - IbrarMumtaz

1
这是我如何解决的。我安装了Visual Studio 2015,并安装了适用于VS 2015的TFS Power Tools。我还安装了Visual Studio 2017。通常我使用VS 2017并连接到TFS。我没有将VS 2015连接到TFS,因此在资源管理器中不会显示Power Tools菜单。最后我意识到当他们说你必须安装相同版本的Visual Studio时,你还必须将该版本的Visual Studio Team Explorer连接到TFS。除此之外,你不必再使用它,但必须使用对话框进行连接,就像你在这里看到的那样。

Connect to Team Foundation Server


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接