代码之家  ›  专栏  ›  技术社区  ›  coding4fun

调用自定义Cmdlet不起作用?

  •  4
  • coding4fun  · 技术社区  · 15 年前

    我对PowerShell很陌生。我已生成自定义Cmdlet。我已经在PowerShell中注册了它,但我想在开始使用cmdlet之前对其进行测试。所以我在我的解决方案中添加了一个简单的测试应用程序。我尝试调用自定义Cmdlet,如下所示:

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

    我在我的Cmdlet中设置了一个断点,当我执行时,调用它不会做任何事情。我在Cmdlet中覆盖的唯一方法是“processRecord”,但当我调用Invoke时,它从不做任何事情。我相信这很简单。有人知道我做错了什么吗?

    1 回复  |  直到 15 年前
        1
  •  6
  •   Jaykul    15 年前

    调用.invoke()返回IEnumerator…您必须迭代它(例如call moveNext())才能实际调用该Cmdlet。见评论 MSDN docs page

    推荐文章