我在Windows 2008 R2开发人员计算机上安装了TFS Power Tools 2008及其PowerShell集成功能。
当我尝试运行以下命令以启用管理单元时:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
在32位版本的PowerShell.exe中,在 C:\ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ powershell.exe 下,它可以正常工作。但是当我尝试在64位版本中执行相同操作时: C:\ Windows \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe 我得到以下内容错误:
Add-PSSnapin : The Windows PowerShell snap-in 'Microsoft.TeamFoundation.PowerShell' is not installed on this machine.
At line:1 char:13
+ Add-PSSnapin <<<< Microsoft.TeamFoundation.PowerShell
+ CategoryInfo : InvalidArgument: (Microsoft.TeamFoundation.PowerShell:String) [Add-PSSnapin], PSArgument
Exception
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
知道如何让它在64位版本中运行吗?提前谢谢。
答案 0 :(得分:5)
你倒退了。 snapin是一个32位的snapin。它在PowerShell(x86)下工作正常,即32位,但在PowerShell(x64)下不起作用。注意:即使文件夹名为SysWOW64,它也不是64位。在64位Windows下,本机64位二进制文件位于$ env:SystemRoot \ System32中。在Windows-on-Windows64层下运行的32位二进制文件(即它们从32位进程中窃取并指向64位OS调用)进入$ env:SystemRoot \ SysWOW64。
答案 1 :(得分:3)
TFS Power Tools 2012的注册表文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="2.0"
"Vendor"="Microsoft Corporation"
"Description"="This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"VendorIndirect"="Microsoft.TeamFoundation.PowerShell,Microsoft"
"DescriptionIndirect"="Microsoft.TeamFoundation.PowerShell,This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"Version"="11.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2012 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2012 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"
答案 2 :(得分:2)
微软的Cathy Kong非常友好地为我提供了解决此问题的方法。有关详细信息,请参阅MSDN TFS PowerTools论坛:http://social.msdn.microsoft.com/Forums/en-US/tfspowertools/thread/a116799a-0476-4c42-aa3e-45d8ba23739e/?prof=required
修复如下,对我来说效果很好:
请保存以下内容和 将其保存为* .reg文件并导入到 注册表(只需双击* .reg 文件,单击确定双倍)
Windows注册表编辑器版本5.00
[HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ PowerShell的\ 1 \ PowerShellSnapIns \ Microsoft.TeamFoundation.PowerShell] “PowerShellVersion”= “2.0” “供应商”=“微软公司” “Description”=“这是一个PowerShell 包含团队的管理单元 Foundation Server cmdlet。“ “VendorIndirect”= “Microsoft.TeamFoundation.PowerShell,微软” “DescriptionIndirect”=“Microsoft.TeamFoundation.PowerShell,这 是一个包含的PowerShell管理单元 Team Foundation Server cmdlet。“ “版本”= “10.0.0.0” “ApplicationBase”=“C:\ Program Files (x86)\ Microsoft Team Foundation Server 2010电动工具“ “的AssemblyName”=“Microsoft.TeamFoundation.PowerTools.PowerShell, 版本= 10.0.0.0,文化=中立, 公钥= b03f5f7f11d50a3a” “ModuleName”=“C:\ Program Files (x86)\ Microsoft Team Foundation Server 2010 Power 工具\ Microsoft.TeamFoundation.PowerTools.PowerShell.dll” “CustomPSSnapInType”= “Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn”