4

私はpowershellにかなり慣れていません。カスタムコマンドレットを作成しました。既に powershell に登録していますが、コマンドレットの使用を開始する前にテストしたかったのです。そこで、ソリューションに簡単な testapp を追加しました。次のようにカスタム コマンドレットを呼び出そうとしています。

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

コマンドレットにブレークポイントを設定しましたが、.invoke を実行しても何も実行されません。コマンドレットでオーバーライドしている唯一のメソッドは「ProcessRecord」ですが、呼び出しを呼び出しても何もしません。シンプルなものだと確信しています。誰かが私が間違っていることを知っていますか?

4

1 に答える 1

6

.Invoke() を呼び出すと、IEnumerator が返されます。コマンドレットが実際に呼び出されるようにするには、それを反復する必要があります (たとえば、MoveNext() を呼び出す)。MSDN ドキュメント ページのコメントを参照してください。

于 2010-11-09T17:52:50.017 に答える