TFS 构建:此计算机上未安装“Microsoft.TeamFoundation.PowerShell”
TFS Build: `Microsoft.TeamFoundation.PowerShell' is not installed on this computer
当我使用本地帐户登录到 tfs 构建服务器并执行以下 powershell 命令时:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
它正确加载了 tfs cmdlet。但是,当我在调用脚本的 tfs 服务器上触发构建时,它失败并显示消息:
'Microsoft.TeamFoundation.PowerShell' is not installed on this computer.
生成代理在服务帐户下运行。我该怎么办?
编辑:
我必须编辑@Alexis Coles 的回答中第一个 link 的 reqistry 条目,以使其与 TFS PowerTools 2015 版一起使用:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\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\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"
仔细检查 AssemblyName
、ApplicationBase
、ModuleName
和 Version
条目。上面的脚本适用于 Microsoft Team Foundation Server 2015 Power Tools
我将在这里进行快速讨论,并说这可能与 32 位和 64 位 powershell 有关。如果我从正常的 64 位 powershell 运行 添加-PSSnapinicrosoft.TeamFoundation.PowerShell 没问题。但是如果我从 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe 运行 它得到上面的异常。我要继续说构建服务器是一个 32 位应用程序,并且用于启动 32 位 运行 时间。
不太确定修复的具体内容,但以下内容可能会为您指明正确的方向。
PowerShell (2.0, 32-bit) can't load TFS 2010 snap-in... except when it can
我遇到了这个问题,为了解决这个问题,我注意到默认情况下,在 PowerTools 安装期间不会添加 cmdlet。您需要 运行 完整安装才能运行。
对我来说这是另一个问题,因为我试图在只安装 Visual Studio 2017 Pro 的情况下使用 Power Tools。
2017 年 Visual Studio 他们没有发布 Microsoft Team Foundation Server 2017 Power Tools
。他们说以前的版本应该可以与具有 TFS 的 Visual Studio 的任何更高版本一起使用。
问题是,如果你只安装了 Visual Studio 2017,你将无法安装 Microsoft Team Foundation Server 2015 Power Tools
,因为安装 Visual Studio 2015(任何版本)是一个安装 Microsoft Team Foundation Server 2015 Power Tools
.
的要求
换句话说,我必须先安装 Visual Sudio 2015
,然后安装 Microsoft Team Foundation Server 2015 Power Tools
,然后 Add-PSSnapin Microsoft.TeamFoundation.PowerShell
才能正常工作。
希望这对某人有所帮助。
当我使用本地帐户登录到 tfs 构建服务器并执行以下 powershell 命令时:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
它正确加载了 tfs cmdlet。但是,当我在调用脚本的 tfs 服务器上触发构建时,它失败并显示消息:
'Microsoft.TeamFoundation.PowerShell' is not installed on this computer.
生成代理在服务帐户下运行。我该怎么办?
编辑: 我必须编辑@Alexis Coles 的回答中第一个 link 的 reqistry 条目,以使其与 TFS PowerTools 2015 版一起使用:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\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\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"
仔细检查 AssemblyName
、ApplicationBase
、ModuleName
和 Version
条目。上面的脚本适用于 Microsoft Team Foundation Server 2015 Power Tools
我将在这里进行快速讨论,并说这可能与 32 位和 64 位 powershell 有关。如果我从正常的 64 位 powershell 运行 添加-PSSnapinicrosoft.TeamFoundation.PowerShell 没问题。但是如果我从 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe 运行 它得到上面的异常。我要继续说构建服务器是一个 32 位应用程序,并且用于启动 32 位 运行 时间。
不太确定修复的具体内容,但以下内容可能会为您指明正确的方向。
PowerShell (2.0, 32-bit) can't load TFS 2010 snap-in... except when it can
我遇到了这个问题,为了解决这个问题,我注意到默认情况下,在 PowerTools 安装期间不会添加 cmdlet。您需要 运行 完整安装才能运行。
对我来说这是另一个问题,因为我试图在只安装 Visual Studio 2017 Pro 的情况下使用 Power Tools。
2017 年 Visual Studio 他们没有发布 Microsoft Team Foundation Server 2017 Power Tools
。他们说以前的版本应该可以与具有 TFS 的 Visual Studio 的任何更高版本一起使用。
问题是,如果你只安装了 Visual Studio 2017,你将无法安装 Microsoft Team Foundation Server 2015 Power Tools
,因为安装 Visual Studio 2015(任何版本)是一个安装 Microsoft Team Foundation Server 2015 Power Tools
.
换句话说,我必须先安装 Visual Sudio 2015
,然后安装 Microsoft Team Foundation Server 2015 Power Tools
,然后 Add-PSSnapin Microsoft.TeamFoundation.PowerShell
才能正常工作。
希望这对某人有所帮助。