由于“无法初始化PowerShell主机”,无法安装nuget包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于“无法初始化PowerShell主机”,无法安装nuget包相关的知识,希望对你有一定的参考价值。

突然之间,升级Nuget软件包时出现此错误。我遇到过的修复工作都没有。我正在使用Visual Studio 2013。

已经安装了“Newtonsoft.Json 6.0.3”。

将“Newtonsoft.Json 6.0.3”添加到Tournaments.Notifications中。

成功将“Newtonsoft.Json 6.0.3”添加到Tournaments.Notifications中。

执行脚本文件'F: My Webs BasketballTournaments MainBranch packages Newtonsoft.Json.6.0.3 tools install.ps1'。

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

包管理器控制台

尝试在“FileSystem”提供程序上执行InitializeDefaultDrives操作失败。

如果我等待初始化在控制台中完成,我可以添加一些包。

答案

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

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

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

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

另一答案

升级到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>AppDataLocalMicrosoftVisualStudio12.0

Visual Studio 2015:C:Users<UserName>AppDataLocalMicrosoftVisualStudio14.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>
另一答案

这个Nuget修复对我有用:

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

另一答案

默认情况下,我的Windows 10 64位仅启用了Powershell 1.0版。我更改了控制面板/程序/程序和功能/关闭Windows功能。

确保已启用Windows Powershell 2.0引擎。

以非管理员模式重新启动VS2015并正确安装所有软件包。

另一答案

我和vs2013有同样的问题,更改执行策略没有解决它。我发现唯一可行的解​​决方案是从VS卸载Nuget并再次安装它。步骤在这里:https://stackoverflow.com/a/32619961/3853238

另一答案

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

另一答案

关闭所有可视工作室实例,然后重试。它对我有用:)

另一答案

在尝试了各种建议的修复之后,最终通过在Visual Studio中更新NuGet Package Manager扩展来解决它。

这在“工具” - >“扩展和更新”下完成,然后在“扩展和更新”对话框中更新 - > Visual Studio库。可能需要重新启动Visual Studio。

另一答案

如果您使用VS 2013 Update 5,则应手动为NuGet Packet Manager安装update 2.8.7

bug report有更多细节。

另一答案

VS2015:更新了NuGet并且工作正常。

另一答案

对我来说,诀窍是使用以下链接重新安装NuGet Package Manager:

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

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

另一答案

记住在PowerShell(x86)中完成Set-ExecutionPolicy Unrestricted后重新启动Visual Studio。

如果这不起作用,请在PowerShell(x86)中尝试Set-ExecutionPolicy RemoteSigned,然后重新启动Visual Studio。

另一答案

如果上述方法都不起作用,请查看是否可以更新Visual Studio。

当我尝试安装Newtonsoft.Json时,我在Visual Studio 2017社区中遇到了同样的问题。 ExecutionPolicy更改没有帮助(我尝试使用PowerShell和注册表编辑器)。我还尝试卸载并安装NuGet。

运行VS2017安装文件后,它要求更新Visual Studio。更新后所有问题都消失了。

另一答案

如果上述答案不适合您 -

  1. 打开运行 - Windows + R.
  2. 打开注册表编辑器 - 键入regedit.exe
  3. 打开 - HKEY_LOCAL_MACHINE SOFTWARE Policies Microsoft Windows PowerShell
  4. 在右侧窗格中 - 修改“ExecutionPolicy”并将其“Value Data”保留为空白。
  5. 重新启动Visual Studio,现在您的Powershell可以正确初始化。
另一答案

对我来说,将执行策略设置为Unrestricted不起作用。我必须通过进入控制面板修复vs2013安装。修复安装对我有用。

另一答案

有同样的问题,这解决了我(Powershell作为管理员):

Set-ItemProperty -Path HKLM:SoftwarePoliciesMicrosoftWindowsPowerShell -Name ExecutionPolicy -Value ByPass 
另一答案

在尝试了所有建议的解决方案后,VS 2015更新2没有任何效果

从解决方案文件夹中删除包文件夹并从visual studio恢复它对我有用

另一答案

我遇到了类似的问题。我通过在“打开或关闭Windows功能”中打开“Windows PowerShell 2.0”功能来修复它。请注意,默认情况下此功能处于启用状态,我几天前手动将其关闭。

我正在使用Windows 10 Pro 64位,同样的问题是Visual Studio 2015和2017(32位和64位应用程序)

另一答案

下载并安装Administrative Templates for 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更多权限后不知道它会搞乱视觉工作室2013和2015

另一答案

此问题并不总是与PowerShell执行策略相关。我的计算机配置为PowerShell x64和x86的“Unrestricted”,但我仍然在Visual Studio 2013中不时收到此错误消息。

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

Windows PowerShell已成功更新您的执行策略,但该设置被更具体范围内定义的策略覆盖。由于覆盖,您的shell将保留其当前有效的Unrestricted执行策略。键入“Get-ExecutionPolicy -List”以查看执行策略设置。有关详细信息,请参阅“Get-Help Set-ExecutionPolicy”。

这不是有效的错误消息。

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

以管理员身份运行该过程永远无法解决问题。

与Declan一样,Package Manager插件的最新更新解决了这个问题:2.8.60723.765

另一答案

将执行策略设置为Bypass而不是Unrestricted或RemoteSigned; this tutorial gives fuller instructions。此外,如果您在使用PowerShell更改策略时遇到问题,那么作者会向您展示如何在Regedit中更改它。

另一答案

黑暗中有很多刺伤,所以我会添加自己的刺。

在我的情况下,我还收到一条消息,说有一个丢失的锁文件,并建议在包管理器控制台中运行dnu restore。我这样做了,重新启动了VS,现在一切正常。

另一答案

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

1.步骤

打开Windows PowerShell,作为Administrator运行

2.步骤

Nu

以上是关于由于“无法初始化PowerShell主机”,无法安装nuget包的主要内容,如果未能解决你的问题,请参考以下文章

原创NuGet 出现“无法初始化 PowerShell 主机,如果将你的 PowerShell 执行策略设置设置为 AllSigned ,请先打开程序包管理控制台以初始化该主机” 错误的解决方法

idea 打开gradle项目

软件工程第二次作业

LINUX安装好后无法访问网络

电脑u盘无法弹出怎么办

Python:Pycharm下无法导入安装好的第三方模块?