【问题标题】:Aborting an "unclosed" powershell command in Visual Studio Nuget Package manager console在 Visual Studio Nuget 包管理器控制台中中止“未关闭”的 powershell 命令
【发布时间】:2018-05-04 07:40:42
【问题描述】:

我不小心在 NuGet 包管理器控制台中发出了无效的 PowerShell 命令并锁定了控制台。
命令是

PM> Get-Project -all | Where { $_.ProjectName -imatch "GPEC.Personne }

然后控制台显示 >> 作为提示,我无法离开此模式。关闭并重新打开控制台没有帮助。 (必须重新启动 VS)。
在这种情况下,有没有办法优雅地取消错误命令并返回标准 PM> 提示符?

提前致谢。 菲利普

【问题讨论】:

  • 在 Powershell 中按 Ctrl+C 通常可以解决问题,但不确定是否同样适用于 VS 窗口。你试过那个组合键了吗?
  • 我尝试了 Ctrl+C、Ctrl+Z 和许多其他方法都没有成功。退出,再见,关闭...

标签: powershell visual-studio-2012 nuget


【解决方案1】:

这似乎是错误的行为。 >> 在语法上表示当前命令尚未完成。也就是说,您打开了一个双引号字符串,但还没有完成。按“清除控制台”工具栏按钮退出此模式。

【讨论】:

  • 嗨,基思。为什么我没有想到呢?这就是解决方案!非常感谢。
【解决方案2】:

在 VS 控制台窗口中有一个“停止命令执行”按钮(如果启用,则为红色方块)。它位于“清除控制台”按钮旁边。 该按钮仅在命令实际运行时启用

根据接受的答案,似乎 OP 实际上并不需要中止正在执行的命令。但这个答案应该对真正确实需要中止命令的人有用。

【讨论】:

  • 那个按钮好像不太好用。哦,让 Ctrl+C 或 Ctrl+Break 正常工作...
【解决方案3】:

这是一个简单的问题,已经回答了,但我想我可能要补充一些东西。在澄清Nuget Console的行为方面。

当您打开带有单引号/双引号的语句并且没有正确关闭它或根本不关闭它时会发生这种情况。

示例(分别)

Add-Migraion "添加'员工'模型'

Add-Migraion "添加'员工'模型

控制台将假定您需要将命令分成两行,因此它将等待您完成命令或通过显示此符号 >> 关闭另一行上的语句。在这种情况下,如果发生错误,您只需根据打开语句的方式输入"'

【讨论】:

    【解决方案4】:

    有时您可以查看常规 Windows 任务管理器并终止该任务。不过可能很难找到。

    我只是发布这个感到畏缩。

    【讨论】:

      【解决方案5】:

      在 Visual Studio 中安装了一个 Debuggable Package Manager 程序(不确定这是从哪个版本开始的)。

      您需要手动 CD 到您项目的正确文件夹,但对于某些任务,它可能更可靠,您也可以打开多个窗口,这很好。

      是的 - CTRL+C 可以终止任务:-)

      【讨论】:

        猜你喜欢
        • 2015-01-21
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 2018-04-29
        • 1970-01-01
        • 2011-05-07
        • 2016-11-05
        • 1970-01-01
        相关资源
        最近更新 更多