在x64上没有适用于PowerShell的TFS Snapin吗?

我正在尝试使用PowerShell SDK中的System.Management.Automation从C#代码在PowerShell中使用TFSSnapin,但是我想使用“AnyCPU”编译它。 当我尝试在任何CPU中调试它时,我得到“No Plugins Registered”错误,我尝试在x86模式下调试它并且它工作得很好。 反正有没有在x64 PowerShell上注册插件所以我可以使用AnyCPU? 或者我只是运气不好?

不可以。最早在TFS 2010 Beta 2之前无法更改。 请参阅: 为什么TFS Powershell snapin仅标记为32位?

现在可以了

在64位PowerShell命令提示符中执行以下行

copy HKLM:\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell -r 

然后为Microsoft.TeamFoundation.PowerShell添加PSSnapin。

确保运行64位版本的InstallUtil以将snapin信息安装到64位注册表(而不是Wow注册表节点)。 如果启动64位Visual Studio命令提示符,则应将路径配置为执行64位版本的installutil.exe。