当我尝试创建一个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)
答案 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