如何在不关闭PowerShell的情况下退出c#中的函数

时间:2011-03-22 05:33:11

标签: c# powershell

我使用Powershell作为我的控制台。我创建了一个PSSnapin并将其添加到Powershell。现在我想要一些异常,它应该从那里退出,但是因为我从某个函数调用它,它返回那里我不想要。我希望它只在不关闭powershell控制台的情况下退出。我尝试了Environment.Exit(0),但它正在关闭控制台应用程序。还有其他方法可以退出吗?

1 个答案:

答案 0 :(得分:2)

Snapins在PowerShell进程中运行,因此,PowerShell会尝试通过捕获snapin抛出的异常来保护自己。您要做的最后一件事是调用Environment.Exit(),因为这会终止PowerShell进程。您可以让异常从cmdlet实现中转义(或者在必要时抛出),但最好在PSCmdlet实例上使用ThrowTerminatingError()方法来表示cmdlet的终止条件。