调用自定义cmdlet不起作用?

时间:2010-11-09 15:45:38

标签: powershell cmdlets

我对powershell很新。我已经构建了一个自定义cmdlet。我已经在powershell中注册了它,但我想在开始使用cmdlet之前测试它。所以我在我的解决方案中添加了一个简单的testapp。我正在尝试调用我的自定义cmdlet,如下所示:

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

我在cmdlet中设置了一个断点,当我执行.invoke时,它从不做任何事情。我在cmdlet中覆盖的唯一方法是“ProcessRecord”,但是当我调用invoke时,它从不做任何事情。我确信这很简单。有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:6)

调用.Invoke()返回一个IEnumerator ...你必须迭代它(例如调用MoveNext()),以便实际调用cmdlet。请参阅MSDN docs page

上的评论