我正在尝试在Visual Studio 2012 Update 3中启动程序包管理器控制台,并在打开窗口时看到以下输出:
程序包管理器控制台主机版本2.6.40627.9000
输入'get-help NuGet'以查看所有可用的NuGet命令。
无法识别“设置位置”一词,因为它是cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
我从未收到提示,这对我来说意味着控制台无法正确初始化。两周前,这确实在某一点上起作用,但我无法推断出导致它停止工作的变化。即使我以安全模式启动,我也会看到错误。我也安装了Visual Studio 2010,我看到同样的错误,这表明Visual Studio不是罪魁祸首。
程序包管理器控制台尝试运行哪个失败的脚本? Set-Location
是一个内置的PowerShell cmdlet,这就是为什么这个错误令我感到困惑的原因。我不知道如何开始对此进行故障排除。我卸载并重新安装了Package Manager extension,但问题仍然存在。
我在尝试解决Web API项目的软件包安装失败时发现了这个问题。当我尝试创建一个新的Web API项目时,我看到如下错误:
EntityFramework.5.0.0:无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机。
以下是一些可能有用的其他信息。我正在运行带有.NET 4.5.50709和PowerShell v2的Windows 7。在解决此问题时,我的执行策略设置为Unrestricted。
C:\> $psversiontable.psversion
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
答案 0 :(得分:3)
我能够通过Windows Management Framework 3 for Windows 7 SP 1更新(Windows6.1-KB2506143-x64.msu)安装PowerShell 3来解决此错误。目前还不清楚是否需要PowerShell 3,或者升级的行为是否会导致修复此问题。