TFS内部版本:此计算机上未安装"Microsoft.TeamFoundation.PowerShell" [英] TFS Build: `Microsoft.TeamFoundation.PowerShell' is not installed on this computer

查看:146
本文介绍了TFS内部版本:此计算机上未安装"Microsoft.TeamFoundation.PowerShell"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用本地帐户登录到tfs构建服务器并执行以下powershell命令时:

When I'm logged in to tfs build server using local account and execute following powershell command:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell

它将正确加载tfs cmdlet.但是,当我在调用该脚本的tfs服务器上触发构建时,它失败并显示以下消息:

it loads the tfs cmdlets correctly. However, when I trigger a build on tfs server that invokes the script, it fails with message:

此计算机上未安装"Microsoft.TeamFoundation.PowerShell".

'Microsoft.TeamFoundation.PowerShell' is not installed on this computer.

构建代理在服务帐户下运行.我该怎么办?

The build agent runs under service account. What should I do?

编辑: 我必须从@Alexis Coles答案的第一个链接中编辑需求条目,以使其与TFS PowerTools 2015版一起使用:

EDIT: I had to edit the reqistry entry from the first link in @Alexis Coles' answer to make it work with version 2015 of TFS PowerTools:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="4.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"="14.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="4.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"="14.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

仔细检查AssemblyNameApplicationBaseModuleNameVersion条目.上面的脚本可用于 Microsoft Team Foundation Server 2015电动工具

Double check AssemblyName, ApplicationBase, ModuleName and Version entries. Script above works with Microsoft Team Foundation Server 2015 Power Tools

推荐答案

我将在这里快速介绍一下,并说这可能与32位和64位Powershell有关.如果我从正常的64位Powershell运行Add-PSSnapinicrosoft.TeamFoundation.PowerShell可以.但是,如果我从C:\ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ powershell_ise.exe运行它,则会收到上述异常.我要继续说,构建服务器是32位应用程序,在那里可以启动32位运行时.

I am going to have a quick punt here and say it is probably something to do with 32-bit vs 64-bit powershell. If I run Add-PSSnapinicrosoft.TeamFoundation.PowerShell from normal 64-bit powershell fine. But if I run it from C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe I get the above exception. I am going to go ahead and say that the build server is a 32-bit application and there for starting a 32-bit runtime.

不太确定具体的解决方法是什么,但是以下内容可能会为您指明正确的方向.

Not really sure what the fix is exactly but maybe the following will point you in the right direction.

PowerShell(2.0,32位)无法加载TFS 2010管理单元……除非可以加载

查看全文

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆