मैं Visual Studio स्थापित किए बिना .NET प्रोजेक्ट कैसे संकलित कर सकता हूं?


36

मैं एक .NET / C # प्रोजेक्ट संकलित करना चाहता हूं, लेकिन मैं ऐसा करने के लिए Visual Studio स्थापित नहीं करना चाहता।

मुझे किन उपकरणों की आवश्यकता है और मैं परियोजना को कैसे संकलित कर सकता हूं?


विज़ुअल स्टूडियो एक्सप्रेस आपके लिए काम नहीं करेगा?
svick

1
@svick: यदि परियोजना को संकलित करने के लिए मेरे पास इसकी आवश्यकता होगी , तो मैं इसका उपयोग करूंगा। लेकिन इस मामले में यह आवश्यक नहीं है, इसलिए मुझे हर मशीन पर इसे स्थापित करने की आवश्यकता नहीं है जहां मैं परियोजना को तैनात करना चाहता हूं। मैं बस वीसीएस से एक कॉपी खींच सकता हूं, इसे संकलित कर सकता हूं और इसे चला सकता हूं। वीएस एक्सप्रेस स्थापित करने से पूरी प्रक्रिया समाप्त हो जाएगी।
डेर होकस्टापलर

उस मामले में, एक सरल समाधान एक संकलित विधानसभा को तैनात किया जा सकता है। इस प्रकार, आपको प्रत्येक मशीन पर कोई संकलन करने की आवश्यकता नहीं है।
svick

@ शविक: आपकी अंतर्दृष्टि के लिए धन्यवाद, लेकिन बायनेरिज़ को संक्षेप में तैनात करने से मेरा दिमाग भी पार हो गया। अगर मैंने इसे इस मामले में एक फायदेमंद विकल्प माना था, तो मैंने ऐसा किया होगा। यह कहा जा रहा है, यह सवाल और जवाब बस एक प्रक्रिया का वर्णन करने के लिए पोस्ट किया गया था। यह निर्णय लेना कि क्या यह प्रक्रिया उपयोगकर्ताओं के मामले में जाने का तरीका है, उनके लिए एक निर्णय है।
डेर होकस्टापलर

जवाबों:


37
  1. नवीनतम .NET फ्रेमवर्क डाउनलोड और इंस्टॉल करें।
    उदाहरण के लिए, आप .NET फ्रेमवर्क 4.5 इंस्टॉलर के लिए इंस्टॉलर का उपयोग कर सकते हैं ।

  2. एक कमांड प्रॉम्प्ट खोलें और .NET फ्रेमवर्क की स्थापना निर्देशिका में बदलें।
    उदाहरण के लिए:

    cd \Windows\Microsoft.NET\Framework\v4*
    
  3. MSBuild.exeअपने समाधान को संकलित करने के लिए उपयोग करें ।
    उदाहरण के लिए:

    msbuild "C:\Users\Oliver\Documents\My Project\My Project.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"

यदि परियोजना NuGet पैकेज का उपयोग करती है, तो आप उन्हें पुनः प्राप्त करने के लिए इन चरणों का पालन कर सकते हैं:

  1. NuGet.exe कमांड लाइन बूस्टर को डाउनलोड करें और, उदाहरण के लिए, इसे समाधान निर्देशिका के अंदर रखें।

  2. कमांड प्रॉम्प्ट खोलें और समाधान निर्देशिका में बदलें।
    उदाहरण के लिए:

    cd "C:\Users\Oliver\Documents\My Project"
    
  3. NuGet.exeइस समाधान के लिए आवश्यक संकुल अद्यतन करने के लिए आमंत्रित करें:

    NuGet.exe install "My Project/packages.config" -o packages/
    

अच्छा! कोई MSBuild प्रलेखन लिंक? इसके अलावा, यह एक वीएस प्रोजेक्ट के लिए है जो पहले से ही सही है? .CS या अन्य स्रोत फ़ाइलों में कोड संकलन के बारे में क्या?
करण

2
@ करन - इस लेख पर आधारित कोई भी जवाब देने के लिए किसी को भी msdn.microsoft.com/en-us/library/vstudio/78f4aasd.aspx ?
रामहुंड

@ रामहुड: मुझे लगता है कि किसी जानकार को यह सब पूछे जाने वाले एक प्रकार के उत्तर में शामिल किया जा सकता है। साथ ही कुछ फॉलो-अप प्रश्न जिन्हें संबोधित किया जा सकता है। क्या csc.exe भी एंड-यूज़र .NET फ्रेमवर्क इंस्टॉल के साथ बंडल किया गया है? क्या यह शामिल है यदि आप केवल क्लाइंट प्रोफाइल स्थापित करते हैं?
करण

1
@ कर्ण: मैंने MSBuild.exeकमांड लाइन तर्क प्रलेखन का लिंक जोड़ा है । हां, यह एक ऐसी परियोजना के लिए है जो पहले से ही स्थानीय मशीन पर है (शायद GitHub से डाउनलोड किया गया है)। जैसा कि रामहाउंड का उल्लेख है, csc.exeएकल फ़ाइलों को संकलित करने के लिए गो टू टूल होगा। csc.exe.NET फ्रेमवर्क के साथ भी बंडल किया गया है। यह कोर C # कंपाइलर है और MSBuild शायद इसे लागू करता है। क्लाइंट प्रोफ़ाइल के बारे में निश्चित नहीं है, लेकिन मुझे लगता है कि वे इसके साथ शामिल हैं।
डेर होकस्टाप्लर

1
एक कारण जिसे csc.exeशामिल करने की आवश्यकता है, क्योंकि क्लाइंट प्रोफ़ाइल में XmlSerializerवर्ग शामिल है । यह वर्ग csc.exeरन-टाइम पर क्रमबद्ध असेंबली (उपयोग ) करता है।
19

3

यदि आप Visual Studio को स्थापित करने से बचना चाहते हैं, तो आप मोनो , एक क्रॉस-प्लेटफ़ॉर्म और ओपन सोर्स .NET रनटाइम और डेवलपमेंट फ्रेमवर्क आज़माना चाह सकते हैं । मोनो C # के लिए प्रकाशित ECMA मानक पर आधारित है और सीधे पूर्व-संकलित C # अनुप्रयोगों के साथ संगत है।

मोनो में XBuild नामक एक टूल भी शामिल है जो MSBuild को पूरी तरह से बदल सकता है। MSBuild से XBuild को प्रोजेक्ट पोर्ट करने के बारे में मोनो परियोजना के इस लेख को देखें । विकी से एक्सबिल्ड का एक-पंक्ति विवरण:

xbuild मोनो का कार्यान्वयन MSbuild है और यह उन परियोजनाओं को अनुमति देता है जिनके पास लिनक्स पर एक msbuild फाइल को मूल रूप से संकलित करने की अनुमति है।

ध्यान दें कि लिनक्स के अलावा, विंडोज और मैक ओएस एक्स भी समर्थित हैं।


1
क्या कोई कारण है जो monoखिड़कियों पर उपयोग करेगा ?
ऋषव

2
@ रिशव राजनैतिक विचार? शायद एक के लिए जो विंडोज का उपयोग करने के लिए आवश्यक है, लेकिन जितना संभव हो उतना कम अन्य Microsoft तकनीक का उपयोग करना चाहता है। बस अटकलें, हालांकि।
जेमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.