Domanda

Sono abbastanza nuovo a PowerShell. Ho costruito un cmdlet personalizzato. L'ho già registrati in PowerShell, ma ho voluto provarlo prima ho iniziato ad usare il cmdlet. Così ho aggiunto un semplice testapp per la mia soluzione. Sto cercando di chiamare il mio cmdlet personalizzato come il seguente:

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

Ho impostato un punto di interruzione nel mio cmdlet e quando eseguo .invoke che non fa mai niente. L'unico metodo che sto prevalente alla mia cmdlet è "ProcessRecord", ma quando chiamo invoke sua non fa mai niente. Sono sicuro che la sua qualcosa di semplice. Qualcuno sa che cosa sto facendo male?

È stato utile?

Soluzione

Calling .Invoke () restituisce un IEnumerator ... bisogna iterate esso (ad esempio chiamare MoveNext ()) in modo che il cmdlet per ottenere effettivamente invocato. Vedi le osservazioni sulla pagina MSDN docs

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top