2010-11-09 5 views
4

Je suis assez nouveau pour PowerShell. J'ai construit une cmdlet personnalisée. Je l'ai déjà enregistré dans PowerShell mais je voulais le tester avant de commencer à utiliser la cmdlet. J'ai donc ajouté un testapp simple à ma solution. Je suis en train d'appeler mon applet de commande personnalisée comme ce qui suit:L'appel d'une cmdlet personnalisée ne fonctionne pas?

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

Je mis un point de rupture dans ma cmdlet et quand j'exécute .invoke il ne fait jamais rien. La seule méthode que je remplace dans ma cmdlet est "ProcessRecord" mais lorsque j'appelle invoke, elle ne fait jamais rien. Je suis sûr que c'est quelque chose de simple. Est-ce que quelqu'un sait ce que je fais mal?

Répondre

6

Appel .Invoke() renvoie un IEnumerator ... vous devez l'itérer (par exemple, appel MoveNext()) pour que la cmdlet soit effectivement appelée. Voir les remarques sur le MSDN docs page

+0

Merci Jay. Je savais que c'était quelque chose de vraiment simple. J'apprécie ton aide. – coding4fun

Questions connexes