Вызов пользовательского командлета не работает?

StackOverflow https://stackoverflow.com/questions/4135556

  •  30-09-2019
  •  | 
  •  

Вопрос

Я довольно новичок в PowerShell. Я построил пользовательский командлет. Я уже зарегистрировался в PowerShell, но я хотел проверить его, прежде чем я начал использовать командлет. Поэтому я добавил в свое решение простой TestApp. Я пытаюсь назвать свой пользовательский командлет, как следующее:

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

Я установил точку перерыва в своем командномлете, и когда я выполняю. INVOKE, он никогда ничего не делает. Единственный метод, который я переопределяю в своем командлете, - это «процесс -рекорд», но когда я звоню, inloke, он никогда ничего не делает. Я уверен, что это что -то простое. Кто -нибудь знает, что я делаю не так?

Это было полезно?

Решение

Calling .invoke () возвращает ienumerator ... Вы должны итерации его (например, Call Movenext ()), чтобы командлет фактически был вызван. Смотрите замечания на MSDN DOCS PAGE

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top