Nuget 给出错误 "ps1 cannot be loaded because running scripts is disabled"
Nuget gives the error "ps1 cannot be loaded because running scripts is disabled"
我有一个新的空 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
然后我开始安装一些新的软件包并再次收到这条消息:
WebApp\packages\Modernizr.2.8.3\tools\install.ps1 无法加载,因为 运行ning 脚本在此系统上被禁用
我看到了一些与此消息相关的帖子,但与 MVC 项目无关。
我的问题是:
为什么我会收到这些消息?
我该怎么做才能解决这个问题?
这个问题,会出现在我的应用程序所在的服务器上吗运行?某些脚本未按预期 运行?
我想您尝试安装的特定软件包需要 运行 Powershell 脚本,并且出于某种原因,您的机器上禁用了 Powershell 执行。
您可以在 "how to enable Powershell" 上搜索 google 以获得完整的指南,但通常情况下,它是这样的:
- 打开 Powershell 命令 window(只需在按下 windows 开始按钮后搜索 Powershell)
- 输入
Get-ExecutionPolicy
查看当前限制
- 输入
Set-ExecutionPolicy remotesigned
启用 PowerShell
此问题不会影响您计划安装应用程序的服务器。
图像文本的翻译会有点:此证书已从其密钥库中撤销。
我的 init.ps1 上的证书已过期 - 因此 RemoteSigned
将无法使用。要使该软件包版本正常工作,需要将其设置为 ByPass
或 Unrestricted
。就个人而言,我不建议这样做...
-- 编辑 --
我继续更新软件包,发现他们已经为 v 1.0.2 放弃了新证书。 NuGet 控制台中的以下问题需要修复:
Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
如果您在从 Visual Studio 程序包管理器控制台安装 NuGet 程序包时遇到这种情况,运行 Visual Studio 作为管理员。
我 运行 在构建项目时遇到类似问题,发现您可能必须在 powershell (x86) 和 powershell (x64) 中将执行策略设置为 remoteSigned(正如其他人所提到的)。我是 运行 x64 版本的管理员,Get-ExecutionPolicy 返回 "remoteSigned" 但 x86 版本尚未更新。如果以上答案不适合您,请尝试一下。
这应该有效
打开你的电源-shell 以管理员身份输入
Get-ExecutionPolicy
预期结果RemoteSigned
Set-ExecutionPolicy remotesigned
享受
打开你的电源-shell作为管理员并输入
Get-ExecutionPolicy
预期结果 RemoteSigned
Set-ExecutionPolicy remotesigned
如果不起作用,请尝试管理员中的电源shell 运行
万一有人在 Google 上发现了这个并且这发生在你身上,我建议你先尝试重新启动 Visual Studio,特别是如果包管理器控制台之前为你工作过的话。在 VS 2019 中,我注意到,如果我在加载时将其留在后台,有时它会抛出该错误。
对我来说,重新启动 Visual Studio 并将其保留在前台,直到包管理器控制台完成初始化解决了问题。请注意,运行 不需要它作为管理员。
在不重启 VS 的情况下使用包管理器控制台时快速修复此错误 and/or 运行 作为管理员是为当前用户删除限制:
Set-ExecutionPolicy remotesigned -scope CurrentUser
我有一个新的空 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
然后我开始安装一些新的软件包并再次收到这条消息:
WebApp\packages\Modernizr.2.8.3\tools\install.ps1 无法加载,因为 运行ning 脚本在此系统上被禁用
我看到了一些与此消息相关的帖子,但与 MVC 项目无关。
我的问题是:
为什么我会收到这些消息?
我该怎么做才能解决这个问题?
这个问题,会出现在我的应用程序所在的服务器上吗运行?某些脚本未按预期 运行?
我想您尝试安装的特定软件包需要 运行 Powershell 脚本,并且出于某种原因,您的机器上禁用了 Powershell 执行。 您可以在 "how to enable Powershell" 上搜索 google 以获得完整的指南,但通常情况下,它是这样的:
- 打开 Powershell 命令 window(只需在按下 windows 开始按钮后搜索 Powershell)
- 输入
Get-ExecutionPolicy
查看当前限制
- 输入
Set-ExecutionPolicy remotesigned
启用 PowerShell
此问题不会影响您计划安装应用程序的服务器。
图像文本的翻译会有点:此证书已从其密钥库中撤销。
我的 init.ps1 上的证书已过期 - 因此 RemoteSigned
将无法使用。要使该软件包版本正常工作,需要将其设置为 ByPass
或 Unrestricted
。就个人而言,我不建议这样做...
-- 编辑 -- 我继续更新软件包,发现他们已经为 v 1.0.2 放弃了新证书。 NuGet 控制台中的以下问题需要修复:
Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
如果您在从 Visual Studio 程序包管理器控制台安装 NuGet 程序包时遇到这种情况,运行 Visual Studio 作为管理员。
我 运行 在构建项目时遇到类似问题,发现您可能必须在 powershell (x86) 和 powershell (x64) 中将执行策略设置为 remoteSigned(正如其他人所提到的)。我是 运行 x64 版本的管理员,Get-ExecutionPolicy 返回 "remoteSigned" 但 x86 版本尚未更新。如果以上答案不适合您,请尝试一下。
这应该有效
打开你的电源-shell 以管理员身份输入
Get-ExecutionPolicy
预期结果RemoteSigned
Set-ExecutionPolicy remotesigned
享受
打开你的电源-shell作为管理员并输入
Get-ExecutionPolicy
预期结果 RemoteSigned
Set-ExecutionPolicy remotesigned
如果不起作用,请尝试管理员中的电源shell 运行
万一有人在 Google 上发现了这个并且这发生在你身上,我建议你先尝试重新启动 Visual Studio,特别是如果包管理器控制台之前为你工作过的话。在 VS 2019 中,我注意到,如果我在加载时将其留在后台,有时它会抛出该错误。
对我来说,重新启动 Visual Studio 并将其保留在前台,直到包管理器控制台完成初始化解决了问题。请注意,运行 不需要它作为管理员。
在不重启 VS 的情况下使用包管理器控制台时快速修复此错误 and/or 运行 作为管理员是为当前用户删除限制:
Set-ExecutionPolicy remotesigned -scope CurrentUser