当 cmdlet 提示输入信息时,如何防止包管理器控制台挂起?

Joh*_*yre 6 powershell visual-studio nuget visual-studio-2012

我一直在使用 NuGet 的包管理器控制台来执行在 Visual Studio 中工作时需要执行的任何命令行活动。它工作得很好,因为我不需要离开 VS,但是当 cmdlet 提示输入更多信息(用户 ID、密码、确认等...)时,它就会挂起,我必须重新启动 VS。

无论如何,是否可以调整包管理器控制台,使其行为类似于标准的 Power Shell 控制台来提示用户?

x0n*_*x0n 2

与 PowerShell ISE 一样,NuGet 包管理器控制台也是在 WPF 中实现的。它不是真正的控制台窗口。它非常适合使用本机 Cmdlet 进行推广,但它不处理本机命令 (com/exe) stdin 重定向。ISE 也遭遇了同样的失败。我确实考虑过实施它,但所需的工作量与预期的好处不成比例。您可以多次使用响应文件或管道响应本机命令,因此有解决方法。尝试在 ISE 中运行 netsh 等交互式命令,看看会发生什么。