2010-11-15 19 views
11

मैं अभी पावरशेल में शुरू कर रहा हूं और मेरे सिसाडमिन में से एक ने मुझे बताया कि पावरहेल सिस्टम प्रबंधन के लिए सी # कर सकते हैं, यदि अधिक नहीं।पावरहेल बनाम सी # का उपयोग करके विकसित करना कब?

कृपया इस प्रश्न की अज्ञानता को क्षमा करें, लेकिन मैं सी # पर पावरहेल का उपयोग कब करूं?

+0

एसओ पर दोनों की तुलना में पहले से ही कुछ पोस्ट पहले से ही ... –

उत्तर

13

जब मैं एक लंबे समय पहले विंडोज निर्माण प्रयोगशाला में काम किया (1997) नियम मैं सिखाया गया था कि अगर या तो इन दोनों की स्थिति का कोड को संतुष्ट करता है व्याख्या की स्क्रिप्ट में लिखने, अन्यथा यह संकलित कोड में लिखें:

  1. वहाँ कोड की तुलना में अधिक भूमि के ऊपर है
  2. वहाँ एक से बेहतर 10% संभावना है कि कोड से पहले इसे फिर से चलाने हो जाता है बदल जाएगा है (का उपयोग करते हुए/लाइनों, समारोह घोषणा, आदि शामिल हैं)
18

1) PowerShell अच्छा है अपेक्षाकृत छोटे अच्छी तरह से परिभाषित कार्य के लिए एस, विशेष रूप से क्षणिक एक दिवसीय कार्य और इंटरैक्टिव कार्य जब आप कमांड लाइन में सही कोडिंग कर रहे हों। यदि किसी कार्य को PowerShell कोड की कुछ पंक्तियों की आवश्यकता होती है (और आप जानते हैं कि क्योंकि आप PowerShell को पर्याप्त जानते हैं!) तो एक पूर्ण सी # प्रोजेक्ट लॉन्च करना अक्सर ओवरकिल होता है।

2) सी # बड़ी परियोजनाओं के लिए बेहतर है या जहां प्रदर्शन महत्वपूर्ण है। यह किसी भी परियोजना के लिए बेहतर है जिसे संभावित रूप से डिबगिंग और समस्या निवारण की आवश्यकता होगी।

3) पावरशेल और सी # पूरी तरह से मिलकर काम कर सकते हैं। एक दूसरे से कॉल करना आसान है। PowerShell .NET घटकों को जोड़ने के लिए अच्छा है। आप सी # में अपने जटिल और प्रदर्शन महत्वपूर्ण टुकड़ों को कार्यान्वित कर सकते हैं और फिर उन टुकड़ों को पावरशेल के साथ जोड़कर चिपका सकते हैं।

+0

+1 .. मैं दो उत्तरों को चिह्नित नहीं कर सकता - धन्यवाद! – LamonteCristo

+1

मैं बिंदु 2 के दूसरे भाग से असहमत हूं। पावरशेल की एक सम्मानजनक देशी डिबगिंग सुविधा है और सभी आधुनिक स्क्रिप्ट संपादक इसे लागू करने के लिए एक अच्छी नौकरी करते हैं। – xcud

+0

मुझे पता है कि जवाब काफी पुराना है, लेकिन बिंदु 1 के लिए यह कहा गया है कि "... फिर एक पूर्ण सी # प्रोजेक्ट लॉन्च करना अक्सर ओवरकिल होता है।" यदि आपको त्वरित (और आमतौर पर गंदा) समाधान की आवश्यकता है, तो आप बस [लिंकपैड] (https://www.linqpad.net/) का उपयोग कर सकते हैं –