无法安装,因为NuGet包“无法初始化PowerShell主机”无法安装,因为NuGet包“无法初始

2019-05-13 03:54发布

突然,升级的NuGet包时我收到此错误。 没有,我所遇到的工作修正。 我使用Visual Studio 2013。

'Newtonsoft.Json 6.0.3' 已安装。

添加 'Newtonsoft.Json 6.0.3' 来Tournaments.Notifications。

已成功添加 'Newtonsoft.Json 6.0.3' 来Tournaments.Notifications。

执行脚本文件 'F:\我的网站\ BasketballTournaments \ MainBranch \包\ Newtonsoft.Json.6.0.3 \工具\ install.ps1'。

无法初始化PowerShell主机。 如果你的PowerShell执行策略设置为使用AllSigned,打开包管理器控制台首先初始化主机。

包管理器控制台

试图在“文件系统”供应商进行InitializeDefaultDrives操作失败。

如果我等待初始化控制台来完成,我能够增加一些包。

Answer 1:

设置执行策略为RemoteSigned或无限制应该工作。 它必须在管理员模式下通过PowerShell控制台进行更改。 要知道,改变将根据位版本的PowerShell控制台,使32位或64位应用。 所以,如果你想在Visual Studio(32位版本),这需要你应通过PowerShell的(86)更改策略设置的具体政策来安装软件包。

在PowerShell中(如管理员)的命令将策略设置为无限制(由@Gabriel在评论中指出的)是:

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

设定了政策无限制,你将要设置的政策恢复到原来的后安装完成。



Answer 2:

记住要重新启动Visual Studio,你已经做了之后Set-ExecutionPolicy Unrestricted使用PowerShell(x86)的。

如果还是不行,请尝试Set-ExecutionPolicy RemoteSigned在PowerShell中(86),然后重新启动Visual Studio。



Answer 3:

默认情况下,PowerShell脚本执行是出于安全原因非常有限。 对于内的NuGet使用,我们需要打开大门。

第1步

打开Windows PowerShell ,作为运行Administrator

第2步

的NuGet使用32位控制台,所以它不会被改变为64位控制台的影响。 运行以下脚本,以确保您配置的32位控制台。

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

3.步骤

重新启动Visual Studio



Answer 4:

我有管理的NuGet软件包对话同样的问题,我用一个变通办法,可以帮助别人 - 从包管理器控制台中运行:

如果我用命令行的PowerShell命令行安装包,一切都很好。

我不利更改安全设置“只是为了工作。”



Answer 5:

没有答案为我工作。

所有的政策是正确的,但安装包时,我有错误

无法初始化PowerShell主机。 如果你的PowerShell执行策略设置为使用AllSigned,打开包管理器控制台首先初始化主机。

解决办法 :我已经卸载NuGet包管理器插件,并重新安装它。



Answer 6:

运行Visual Studio中的管理员为我工作。



Answer 7:

我有这个问题,我的Visual Studio 2015年我卸载并重新安装的NuGet包管理器一次。 它为我工作。



Answer 8:

我更新了NuGet包管理器和固定对我来说。



Answer 9:

这开始发生6.0.4最近对我来说,我不认为这是一个很好的解决方案,但这里是帮助了我。 关闭Visual Studio中

  1. 打开Windows PowerShell提示符以管理员身份(非常重要),然后运行以下命令:Set-ExecutionPolicy旁路
  2. 打开Visual Studio中,打开您的解决方案和使用的NuGet安装JSON.Net(或任何包装包括它作为一个依赖)。
  3. 在确定一切正常,我建议设置PowerShell执行策略回用下面的命令限制:设置ExecutionPolicy限制


Answer 10:

我升级到Windows 10后有同样的问题。

这为我工作

  1. 关闭Visual Studio中
  2. PowerShell的运行以管理员身份
  3. 运行Set-ExecutionPolicy Unrestricted
  4. 运行Visual Studio为管理员
  5. 清理项目,并添加NuGet包

如果仍不能正常工作尝试编辑devenv.exe.config

的Visual Studio 2013: C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\12.0

的Visual Studio 2015: C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\14.0

添加以下

    <dependentAssembly>
        <assemblyIdentity name="System.Management.Automation" publicKeyToken="31bf3856ad364e35" />
        <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Utility" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.ConsoleHost" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Management" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Security" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Diagnostics" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>


Answer 11:

这种修复的NuGet为我工作:

https://github.com/NuGet/Home/issues/974#issuecomment-124774650



Answer 12:

默认情况下,我的Windows 10的64位只有PowerShell的1.0版启用。 我改变了控制面板/程序/程序和功能/打开的Windows功能关上。

确保在Windows PowerShell 2.0引擎已启用。

在非管理员模式和正确安装了所有的包重新启动VS2015。



Answer 13:

我有同样的问题,vs2013和改变执行政策并没有解决它。 唯一的工作解决,我发现从VS卸载的NuGet,并重新安装。 步骤在这里: https://stackoverflow.com/a/32619961/3853238



Answer 14:

所有我需要做的是重新启动Visual Studio中,打开的NuGet Package Manager Console ,然后使用Manage NuGet Packages对话合作。



Answer 15:

关闭所有的Visual Studio实例,然后再试一次。 它的工作对我来说:)



Answer 16:

尝试各种建议的修复后,它终于通过更新在Visual Studio中的NuGet包管理器扩展解决。

这是在做工具 - >扩展和更新,然后在扩展和更新对话框更新 - > Visual Studio库。 可能需要的Visual Studio的重新启动。



Answer 17:

如果你使用VS 2013 Update 5中,应手动安装更新2.8.7为的NuGet包管理器。

该错误报告具有更多的细节。



Answer 18:

VS2015:更新的NuGet和工作。



Answer 19:

什么做的把戏对我来说是使用下面的链接重新安装的NuGet包管理器:

VS 2013: https://github.com/NuGet/Home/releases/download/2.8.7/NuGet.Tools.vsix

2015年VS: https://github.com/NuGet/Home/releases/download/3.1.1/NuGet.Tools.vsix



Answer 20:

如果没有上面的帮助,看看你能不能更新的Visual Studio。

我曾与Visual Studio 2017年社区同样的问题,当我试图安装Newtonsoft.Json。 该ExecutionPolicy的变化并没有帮助(我试过同时使用PowerShell和注册表编辑器)。 我也试着卸载和安装的NuGet。

运行VS2017安装文件后,请为Visual Studio的更新。 所有的问题在更新后消失。



Answer 21:

如果你的答案以上工作力 -

  1. 打开运行 - 窗口+ R
  2. 打开注册表编辑器 - 键入regedit.exe
  3. 打开 - HKEY_LOCAL_MACHINE \ SOFTWARE \政策\微软\的Windows \ PowerShell的
  4. 在右窗格中 - 修改“ExecutionPolicy”,并保持它的“数值数据”为空白。
  5. 重新启动Visual Studio中,现在你可以PowerShell的正确初始化。


Answer 22:

对我来说,设置执行策略,以无限制没有工作。 我不得不进入控制面板来修复vs2013安装。 修复安装为我工作。



Answer 23:

有同样的问题,这解决了这个问题对我来说(如PowerShell的管理员):

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name ExecutionPolicy -Value ByPass 


Answer 24:

我有一个类似的问题。 我已经在转弯“的Windows PowerShell 2.0”功能固定为“打开或关闭Windows功能”。 请注意,此功能默认是开启的,我手动把它关闭前几天。

我工作在Windows 10 Pro的64位和同样的问题是与Visual Studio 2015年和2017年(32位和64位应用程序)



Answer 25:

下载并安装Windows PowerShell的管理模板

Next:  Powershell x86 from As Administrator

Run:   Get-ExecutionPolicy -List  , and see if you have RemoteSigned etc..

1. 5 different scopes  Set-ExecutionPolicy "RemoteSigned" -Scope Process -Confirm:$false

2. Machine and User Policy you have to set through the Group Policy Administration Template in 2 areas.

更新-编辑:

Set ALL of them to  "Undefined" and ONLY the LocalMachine to "Restricted" 

这是固定的威力我曾经给我的PowerShell更多的权限,不知道在那之后它会搞砸的Visual Studio 2013年和2015年



Answer 26:

这个问题并不总是涉及到PowerShell执行策略。 我的机器配置为“无限制”为PowerShell的x64和x86两个,但我还是在Visual Studio 2013得到次次这样的错误消息。

当我尝试打开包管理器控制台:

Windows PowerShell中成功更新执行策略,但该设置是通过在一个更具体的范围定义的策略覆盖。 由于覆盖,你的shell将保留无限制的其当前有效执行策略。 键入“Get-ExecutionPolicy - 列出”来查看您的执行策略设置。 欲了解更多信息,请参阅“获取帮助的Set-ExecutionPolicy”。

这不是一个有效的错误消息。

重新启动Visual Studio中并不总是解决问题。

运行过程中,因为管理从来没有解决的问题。

德克兰一样,包管理器的最新更新插件解决了该问题:2.8.60723.765



Answer 27:

设置执行策略绕过,而不是限制或下RemoteSigned; 本教程提供更全面的说明 。 此外,如果你正在使用PowerShell来更改策略有问题那么笔者告诉您如何改变它在注册表编辑器。



Answer 28:

这里有非常多的在黑暗中刺的,所以我会添加自己的。

就我而言,我也得到了一个消息,有一个丢失的锁定文件,并建议运行dnu restore在包管理器控制台。 我这样做了,重启VS,一切工作了。



Answer 29:

什么工作对我来说是:

  1. 设置执行政策不受限。
  2. Find-Module ISEModuleBrowserAddon | Install-Module
  3. Import-Module ISEModuleBrowserAddon
  4. Find-Module ISEScriptAnalyzerAddOn | Install-Module
  5. Import-Module ISEScriptAnalyzerAddOn
  6. Import-Module ScriptBrowser
  7. 在ISE,您需要Enable-ScriptBrowser

你有模块,脚本,并分析你的ISE。

在Win 10运行临,64控制台主机5.0.10586.122

祝好运!



Answer 30:

显然有是Windows 10版本1511 PowerShell的错误。

列出的修复程序都不在这里为我工作。 (或只是暂时的了)

我通过安装版本1607修好了(无论是在VS2013和VS2015)。 它可以在这里下载: 视窗10周年更新 。

的NuGet问题: https://github.com/NuGet/Home/issues/3352



文章来源: Can't install nuget package because of “Failed to initialize the PowerShell host”