سؤال

أنا جديد جدًا على PowerShell. لقد بنيت cmdlet مخصص. لقد قمت بالفعل بتسجيله في PowerShell لكنني أردت اختباره قبل أن أبدأ باستخدام CMDLET. لذلك أضفت اختبارًا بسيطًا إلى الحل. أحاول استدعاء cmdlet المخصصة مثل ما يلي:

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

لقد وضعت نقطة استراحة في cmdlet الخاص بي وعندما أقوم بتنفيذ .invoke لا يفعل أي شيء أبدًا. الطريقة الوحيدة التي أتجاوزها في cmdlet الخاص بي هي "ProcessRecord" ولكن عندما أتصل بالاستدعاء ، لا يفعل أي شيء أبدًا. أنا متأكد من أنه شيء بسيط. هل يعرف أحد ما أفعله خطأ؟

هل كانت مفيدة؟

المحلول

الاتصال .invoke () إرجاع ienumerator ... عليك أن تكررها (على سبيل المثال movenext ()) حتى يتم استدعاء cmdlet بالفعل. انظر الملاحظات على صفحة مستندات MSDN

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top