Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Nuget给出了一个错误;无法加载ps1,因为正在运行的脚本已禁用;_Asp.net Mvc_Powershell_Nuget - Fatal编程技术网

Asp.net mvc Nuget给出了一个错误;无法加载ps1,因为正在运行的脚本已禁用;

Asp.net mvc Nuget给出了一个错误;无法加载ps1,因为正在运行的脚本已禁用;,asp.net-mvc,powershell,nuget,Asp.net Mvc,Powershell,Nuget,我有一个新的空MVC5项目,我尝试安装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

我有一个新的空MVC5项目,我尝试安装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
然后我开始安装一些新软件包,再次收到以下消息:

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

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

我的问题是:

为什么我会收到这些信息

如何解决此问题


此问题是否会出现在运行我的应用程序的服务器上?某些脚本无法按预期运行

我猜您尝试安装的特定软件包需要运行Powershell脚本,并且由于某些原因,您的计算机上已禁用Powershell执行。 您可以在google上搜索“如何启用Powershell”以获得完整的指南,但通常是这样的:

  • 打开Powershell命令窗口(只需在按下windows开始按钮后搜索Powershell)
  • 键入
    Get ExecutionPolicy
  • 通过键入
    Set ExecutionPolicy remotesigned
此问题不会影响您计划在其上安装应用程序的服务器

图像文本的翻译可能有些困难:此证书已从其密钥存储中被吊销

我的init.ps1上的证书已过期-因此
RemoteSigned
将不起作用。要使该软件包版本正常工作,需要将其设置为
旁路
无限制
。就个人而言,我不建议这样做

--编辑-- 我继续更新了软件包,发现他们已经放弃了v1.0.2的新证书。NuGet控制台中出现以下问题以进行修复:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

如果从Visual Studio软件包管理器控制台安装NuGet软件包时遇到此问题,请以管理员身份运行Visual Studio。

我在构建项目时遇到类似问题,发现您可能必须在powershell(x86)和powershell(x64)中将执行策略设置为remoteSigned(如其他人所述)。我以管理员身份运行x64版本,Get ExecutionPolicy返回“remoteSigned”,但x86版本尚未更新。如果上面的答案对你不起作用,那就试试吧。

这应该行得通


以管理员身份打开power shell并键入

Get-ExecutionPolicy
预期结果
RemoteSigned

Set-ExecutionPolicy remotesigned

享受

打开您的电源外壳作为管理和输入

Get-ExecutionPolicy
预期结果为远程签名

Set-ExecutionPolicy remotesigned

如果它不起作用,请尝试在管理员中运行Powershell

如果有人在Google上发现了这种情况,并且这种情况发生在您身上,我建议您首先尝试重新启动Visual Studio,特别是如果Package Manager控制台以前为您工作过。在VS2019中,我注意到,如果在加载时将其留在后台,有时它会抛出该错误


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

在不重新启动VS的情况下使用Package Manager控制台和/或以管理员身份运行时,快速修复此错误的方法是删除对当前用户的限制:

Set-ExecutionPolicy remotesigned -scope CurrentUser

根据Entrodus的建议,我在Windows7Pro上发现了上述错误,并设法修复了该问题。现在我使用的是Windows 10,没有类似的问题。更新软件包也解决了我在Win10的VS2015上的问题。谢谢。在Windows 10的VS2017上收到此错误,以管理员身份运行VS,执行策略不受限制。。。这解决了问题。谢谢@RosdiKasim在这里也一样,解决方案对我不起作用。有什么好办法解决这个问题吗?以管理员身份运行VS对我来说很有用。与上面的Rosdi问题相同。我必须运行PowerShell(x86)版本,以便VS获取新策略。如果您以管理员身份运行,并在Package Manager控制台中键入
Get ExecutionPolicy
,您将获得
RemoteSigned
。如果您只是以非管理员身份运行Visual Studio,您将获得
限制的
执行策略
。而且由于它受到限制,您无法运行脚本。回复:我的所有powershell设置都显示为“不受限制”,但还是收到了错误消息。重新启动VisualStudio解决了这个问题。