Visual Studio包安装错误:“无法初始化PowerShell主机。”

时间:2017-02-16 09:15:45

标签: visual-studio visual-studio-2015

当我尝试创建一个webApplication Project时,我遇到了这个错误,会出现如下信息:

  

包安装错误

     

无法将所有必需的包添加到项目中。以下软件包无法从“C:\ Program Files(x86)\ Michrosoft Web Tools \ Packages”安装:

     

Microsoft.Web.Infrastructure.1.0.0.0:无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机   jQuery.1.10.2:无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机   Modernizr.2.6.2:无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机   Newtonsoft.Json.6.0.4:无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机。

此外,点击OK后,它将继续创建项目,但在最后一步中我也有此错误消息:

  

无法初始化PowerShell主机。如果PowerShell执行策略设置设置为AllSigned,请打开程序包管理器控制台以首先初始化主机。

毕竟,在软件包管理器控制台中,我出现了这条奇怪的消息:

  

尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)

3 个答案:

答案 0 :(得分:3)

将执行策略设置为RemoteSigned或Unrestricted应该有效。必须通过PowerShell控制台在管理员模式下进行更改。请注意,将根据PowerShell控制台的位版本应用更改,因此32位或64位。因此,如果要在Visual Studio(32位版本)中安装需要特定策略的软件包,则应通过PowerShell(x86)更改策略的设置。

PowerShell中的命令(作为管理员)将策略设置为不受限制(如评论中@Gabriel所述):

start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job

将策略设置为不受限制后,您需要在安装完成后将策略设置回原始策略。

答案 1 :(得分:1)

重新安装 - >以管理员身份运行程序 - >将您的笔记本电脑/台式机连接到互联网以获取任何更新或可下载的文件。

答案 2 :(得分:1)

我使用 Visual Studio 2019。Nuget 包安装失败,我收到了类似的错误消息。由于错误消息说

'open the Package Manager Console to initialize the host first' 

可以打开

View >Other windows >Package Manager Console

对我来说它是灰色的并且 PMC 显示消息

'Registry access denied'

由于新版本的 Powershells 不会取代旧的现有版本,而且 PMC 是一个 Powershell 控制台,我认为必须在 PMC 中设置执行策略。

以管理员身份启动 Visual Studio 为我解决了问题,而无需更改执行策略。

另见, https://blog.jsinh.in/nuget-install-update-error-failed-to-initialize-the-powershell-host/ https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio