【问题标题】:Calling a custom cmdlet is not working?调用自定义 cmdlet 不起作用?
【发布时间】:2011-05-07 08:09:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: powershell cmdlets


    【解决方案1】:

    调用 .Invoke() 会返回一个 IEnumerator ...您必须对其进行迭代(例如调用 MoveNext())才能真正调用 cmdlet。见MSDN docs page上的备注

    【讨论】:

    • 谢谢杰。我知道这很简单。感谢您的帮助。
    猜你喜欢
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    相关资源
    最近更新 更多