TFS Power Tools 2008 Powershell Snapin не будет работать в 64-разрядной версии Windows 2008 R2 - PullRequest
2 голосов
/ 17 августа 2010

Я установил TFS Power Tools 2008 вместе с его функциями интеграции PowerShell на моей машине разработчика Windows 2008 R2.

Когда я пытаюсь запустить следующую команду, чтобы включить оснастку:

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-битной версии? Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 17 августа 2010

Ты получил это задом наперед. Оснастка - это 32-разрядная оснастка. Он отлично работает под PowerShell (x86), то есть 32-разрядный, но не работает под PowerShell (x64). Примечание: хотя папка называется SysWOW64, она не является 64-битной. Под 64-битной Windows родные 64-битные двоичные файлы находятся в $ env: SystemRoot \ System32. 32-разрядные двоичные файлы, работающие на уровне Windows-on-Windows64 (т. Е. Они переносятся из 32-разрядного процесса и указателей на вызовы 64-разрядной ОС), помещаются в $ env: SystemRoot \ SysWOW64.

3 голосов
/ 12 мая 2013

Файл реестра для 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 голосов
/ 26 августа 2010

Кэти Конг из Microsoft любезно предоставила мне решение этой проблемы. Полную информацию можно найти здесь на форуме 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 \ Microsoft \ PowerShell \ 1 \ PowerShellSnapIns \ Microsoft.TeamFoundation.PowerShell] "PowerShellVersion" = "2.0" "Vendor" = "Корпорация Microsoft" "Description" = "Это PowerShell оснастка, которая включает команду Командлеты Foundation Server. " "VendorIndirect" = "Microsoft.TeamFoundation.PowerShell, Microsoft" "DescriptionIndirect" = "Microsoft.TeamFoundation.PowerShell, Это оснастка PowerShell, включающая командлетов Team Foundation Server. " "Version" = "10.0.0.0" "ApplicationBase" = "C: \ Program Files (x86) \ Microsoft Team Foundation Server 2010 Power Tools " "AssemblyName" = "Microsoft.TeamFoundation.PowerTools.PowerShell, Версия = 10.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a» "ModuleName" = "C: \ Program Files (x86) \ Microsoft Team Foundation Server 2010 Power Инструменты \ Microsoft.TeamFoundation.PowerTools.PowerShell.dll» "CustomPSSnapInType" = "Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

...