2010-11-09 176 views
4

我很新的PowerShell。我已经构建了一个自定义cmdlet。我已经在powershell中注册过它,但是我想在开始使用cmdlet之前对其进行测试。所以我添加了一个简单的testapp到我的解决方案。我想打电话给我的自定义小命令如下所示:调用自定义cmdlet不起作用?

 var deploy = new DeployCommand(); 
     deploy.BranchDir = @""; 
     deploy.DevDir = @"d:\sandbox\testdeploy"; 
     deploy.Invoke(); 

我设置在我的cmdlet的一个破发点,当我执行.invoke它永远不会做任何事情。我在我的cmdlet中重写的唯一方法是“ProcessRecord”,但是当我调用它的时候,它从不做任何事情。我确定它很简单。有谁知道我做错了什么?

回答

6

调用.Invoke()返回一个IEnumerator ...您必须迭代它(例如调用MoveNext())以便实际调用cmdlet。看到的评论MSDN docs page

+0

谢谢周杰伦。我知道这真的很简单。我感谢您的帮助。 – coding4fun 2010-11-09 20:49:24