我试图显示一个消息框,并且在ISE / Powershell中没有问题;但是,当我在Visual Studio Code中运行时,出现此错误:
Line |
12 | $user = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Method invocation failed because [Microsoft.VisualBasic.Interaction] does not contain a method named 'InputBox'.
我已将Powershell扩展添加到VS Code。看来我仍然缺少某些东西,但不确定。
有任何想法吗?
这就意味着您的PowerShell扩展(PowerShell集成控制台)使用的是PowerShell [Core]版本最高为7.0,该版本基于.NET Core 3.1构建,该[Microsoft.VisualBasic.Interaction]::InputBox()
方法不可用,正如Mathias R. Jessen指出的那样。
在即将基于.NET 5构建的PowerShell [Core]版本7.1中,它将再次可用。
配置您的PowerShell扩展以使用:
任一:Windows PowerShell,已预装在任何Windows计算机上。
Add-Type -AssemblyName Microsoft.VisualBasic
在调用方法之前先进行调用。或:目前,虽然PowerShell [Core] 7.1尚不可用,但请使用此处提供的最新v7.1预览版本,该版本基于已提供该方法的.NET 5预览。
有关如何将PowerShell扩展配置为使用特定的PowerShell版本,请参见此答案的底部。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句