Nuget给出此错误"无法加载ps1,因为禁用了运行脚本"

Luc*_*umb 19 asp.net-mvc powershell nuget

我有一个新的空MVC 5项目,我尝试安装Nuget包.当我在Nuget控制台中插入命令:Update-Package我得到以下asnwer:

File E:\WebApp\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\tools\uninstall.ps1 cannot be loaded because running scripts is 
disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.At line:1 char:3
+ & 'E:\WebApp\packages\Microsoft.CodeDom.Providers.Dot ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
Run Code Online (Sandbox Code Playgroud)

然后我开始安装一些新包,并再次收到此消息:

无法加载WebApp\packages\Modernizr.2.8.3\tools\install.ps1,因为在此系统上禁用了运行脚本

我看到了一些与此消息相关的帖子,但与MVC项目无关.

我的问题是:

为什么我收到这些消息?

我该怎么做才能解决这个问题?

此问题可能出现在我的应用程序将运行的服务器上?有些脚本无法按预期运行?

Nik*_*kos 36

我想您尝试安装的特定软件包需要运行PowerShell脚本,并且出于某种原因,您的计算机上禁用了PowerShell执行.你可以搜索google"如何启用powershell"获取完整的指南,但通常它是这样的:

  • 打开一个powershell命令窗口(按下Windows开始按钮后只搜索powershell)
  • 输入"Get-ExecutionPolicy"查看当前限制
  • 键入"Set-ExecutionPolicy remotesigned"启用PowerShell

此问题不会影响您计划安装应用程序的服务器.

  • 我的执行策略已经是RemoteSigned ...但仍然收到此错误... (13认同)
  • 以管理员身份运行VS为我工作.与Rosdi相同的问题. (3认同)
  • @RosdiKasim 在这里,解决方案对我不起作用。有什么想法可以解决这个问题吗? (2认同)

Kri*_*aig 10

如果有人在 Google 上发现此问题并且这种情况发生在您身上,我建议您首先尝试重新启动 Visual Studio,特别是如果包管理器控制台以前对您有用的话。在 VS 2019 中,我注意到,如果我在加载时将其保留在后台,有时它会抛出该错误。

对我来说,重新启动 Visual Studio 并将其保留在前台直到包管理器控制台完成初始化解决了该问题。请注意,不需要以管理员身份运行它。


Dav*_*pko 7

如果从Visual Studio包管理器控制台遇到此安装NuGet包,请以管理员身份运行Visual Studio.


msc*_*chr 5

在此输入图像描述

图像文本的翻译将有所不同:此证书已从其密钥库中撤销.

我的init.ps1上的证书已经过期 - 因此RemoteSigned不会这样做.要使该包版本起作用,需要将其设置为ByPassUnrestricted.就个人而言,我不建议这样做......

- 编辑 - 我继续更新了包,发现他们已经为v 1.0.2辞去了新的证书.在NuGet控制台中发出以下问题:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Run Code Online (Sandbox Code Playgroud)