बिल्ड सर्वर पर Visual Studio के बिना ASP.NET 4.5 बनाएँ


81

जब से मैंने एक Build Server सेटअप किया है, तब से कुछ समय हो गया है, इसलिए शायद मैं कुछ भूल गया हूं या शायद .NET 4.5 जो भी मैंने पिछली बार के साथ किया था, उससे अलग है, लेकिन यहां मेरी समस्या है।

मैं एक स्रोत नियंत्रण भंडार पर नज़र रखने के लिए एक बिल्ड सर्वर सेटअप करने की कोशिश कर रहा हूँ। जब भी कुछ बदलता है, मैं चाहता हूं कि सर्वर परिवर्तनों को खींचे और परियोजना का निर्माण करे। यदि कोई त्रुटि नहीं है, तो मैं साइट को बिल्ड सर्वर पर चलने वाली वेब साइट पर तैनात करना चाहता हूं।

अतीत में जब मैंने ऐसा किया था, तो मैंने सोचा था कि मैं इसे केवल .NET स्थापित करने में सक्षम था, लेकिन जब मैं इस परियोजना को बनाने की कोशिश करता हूं तो मुझे एक त्रुटि मिलती है कि "C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v11 । वास्तव में कोई विज़ुअल स्टूडियो 11 लक्ष्य फाइलें नहीं हैं।

बहुत सारे विचार और सिर खुजाने के बाद, मैं बाहर गया और "विंडोज 8 / .NET 4.5 एसडीके" सोच रहा था कि .NET 4.5 एसडीके उन लक्ष्यों की फाइलों को स्थापित कर सकता है जिनकी मुझे ज़रूरत थी, लेकिन यह तब तक नहीं हुआ जब तक कि मैंने इसे किसी तरह से गलत स्थापित नहीं किया। ।

तो, मुझे प्रोजेक्ट बनाने के लिए बिल्ड सर्वर पर क्या डालने की आवश्यकता है। मैं 2012 के पूरे विजुअल स्टूडियो को स्थापित नहीं करना पसंद करूंगा।


जब से मैंने यह पोस्ट किया है मैं कुछ शोध कर रहा हूं। अगर मैं गलत रास्ते से जा रहा हूं तो मुझे बताएं। ऐसा लगता है कि यह दृश्य स्टूडियो 2010 के साथ भी एक समस्या थी और ऐसा लग रहा है कि लोगों ने इसे कुछ तरीकों से हल किया है। एक विजुअल स्टूडियो टीम एक्सप्लोरर स्थापित करना था। मैंने कोशिश की कि लेकिन मेरा सर्वर विन 2008 r1 है और VSTE2012 संगत नहीं है। दूसरा उपाय जो थोड़ा डरावना है, वह किसी अन्य मशीन से लक्ष्य फ़ाइलों की प्रतिलिपि बनाना है। यह मुझे आगे मिला, लेकिन अब मुझे त्रुटियां हो रही हैं कि मेरी संदर्भ असेंबली गायब हैं जो मैं अनुमान लगा रहा हूं कि यह मूल समस्या से संबंधित है। क्या कोई और तरीका है?
ज़ैक

3
आप सही रास्ते पर हैं, समस्या को हल करने का आसान तरीका अपने बिल्ड सर्वर पर वीएस 2010 स्थापित करना है। हालांकि यह एक कुंद साधन है। दूसरा तरीका यह होगा कि आप जो कर रहे हैं वह दूसरी मशीन से लक्ष्य और संबद्ध निर्भरता प्राप्त करें और उन फ़ाइलों को सर्वर पर तैनात करें। इस दृष्टिकोण के साथ खतरा यह है कि एक वीएस सर्विस पैक आपके द्वारा कॉपी की गई फाइलों को बदल सकता है और आपका बिल्ड सर्वर उन लक्ष्यों के बासी संस्करण का उपयोग कर रहा होगा जब तक कि आपके डेवलपर्स अपडेट किए गए संस्करणों का उपयोग कर रहे हों।
जेम्स रीड

क्या आपका मतलब VS2012 है? हाँ। मैं जाँच करूँगा, लेकिन मैं यह मान रहा हूँ कि यह टीम सर्वर 2012 r1 के विजेता सर्वर 2008 r1 के साथ तुलनीय नहीं है, लेकिन बीमार दोहरी जाँच है।
ज़ैक

1
क्षमा करें, मैं 2012 बिट से चूक गया, मुझे लगता है कि यह केवल सर्वर 2008 r2 पर स्थापित होगा क्योंकि यह केवल चीजों के क्लाइंट पक्ष पर 7 जीत के साथ काम करता है। मुझे लगता है कि बिल्ड सर्वर पर ओएस को अपडेट करना सवाल से बाहर है?
जेम्स रीड

हाँ, मैं सर्वर ओएस को अपडेट करने के बारे में सोच रहा हूं। मैं इसे देखने जा रहा हूं, लेकिन मुझे यकीन नहीं है कि अगर मुझे अनुमति दी जाएगी।
ज़ैक

जवाबों:


35

मेरी समस्या विंडोज 2008 बॉक्स पर विंडोज 8 के लिए विंडोज सॉफ्टवेयर डेवलपमेंट किट (एसडीके) स्थापित करने से संबंधित थी । यदि आप पृष्ठ पर आगे पढ़ते हैं, तो आपको ".NET फ्रेमवर्क 4.5 एसडीके टूल्स विन्डोज़ विस्टा और विंडोज सर्वर टेक्नॉलॉजी" शीर्षक वाला शीर्षक मिलेगा। यह आपको बताता है:

  1. एक समर्थित ऑपरेटिंग सिस्टम (उदाहरण के लिए, विंडोज 7, या विंडोज 8) पर विंडोज 8 इंस्टॉलर के लिए विंडोज एसडीके चलाएं।
  2. स्थान स्क्रीन निर्दिष्ट करें पर निम्न विकल्प चुनें: एक अलग कंप्यूटर पर स्थापना के लिए विंडोज एसडीके डाउनलोड करें।
  3. अगला बटन दबाएं।
  4. ग्राहक अनुभव सुधार कार्यक्रम (सीईआईपी) स्क्रीन पर शामिल होने पर सवालों के जवाब दें।
  5. अगली स्क्रीन पर, .NET फ्रेमवर्क 4.5 सॉफ्टवेयर डेवलपमेंट किट फीचर चुनें। अन्य सभी सुविधाओं को अचयनित करें जो अचयनित हो सकती हैं।
  6. डाउनलोड बटन चुनें।
  7. डाउनलोड स्थान पर जाएं (चरण 2 में निर्दिष्ट) और निम्न .NET फ्रेमवर्क 4.5 एसडीके टूल इंस्टॉलर फ़ाइलों को खोजें: sdk_tools4.msi, sdk_tools4.cab
  8. आप इन फ़ाइलों को अपने संगठन के भीतर एक Windows Vista या Windows 2008 सर्वर कंप्यूटर पर कॉपी कर सकते हैं। इन फ़ाइलों को Windows Vista या Windows 2008 सर्वर कंप्यूटर पर उसी निर्देशिका में कॉपी करने की आवश्यकता है। नोट: इन फ़ाइलों को अपने संगठन के बाहर या किसी अन्य इंस्टॉलर के हिस्से के रूप में पुनर्वितरित न करें।
  9. विंडोज विस्टा या विंडोज 2008 सर्वर कंप्यूटर पर, यहां लाइसेंस शर्तों की समीक्षा करें।
  10. जाँच करें कि क्या .NET Framework 4.5 कंप्यूटर पर पहले से स्थापित है। अन्यथा, www.microsoft.com से .NET फ्रेमवर्क 4.5 डाउनलोड और इंस्टॉल करें।
  11. व्यवस्थापक विशेषाधिकारों के साथ कमांड प्रॉम्प्ट खोलें।
  12. उस निर्देशिका पर जाएं जहां .NET फ्रेमवर्क 4.5 एसडीके टूल इंस्टॉलर फाइलें कॉपी की गई थीं।
  13. कमांड लाइन का उपयोग करके .NET फ्रेमवर्क 4.5 एसडीके टूल स्थापित करें: Msiexec / i sdk_tools4.msi VSEXT1 = 1

धन्यवाद दलदली मैं इस उत्तर को सही मानने जा रहा हूं, लेकिन मैं सिर्फ कुछ चीजों का उल्लेख करना चाहता था। मैं इसका परीक्षण नहीं करने जा रहा हूं, लेकिन आपका उत्तर ऐसा लगता है कि यह काम कर सकता है। इसके बजाय हम सिर्फ सर्वर को अपग्रेड कर रहे हैं। दूसरा, क्या आप जानते हैं कि ऐसा करने से पैच और सर्विस पैक जारी होने पर घटकों को अद्यतन करने की अनुमति मिलती है?
ज़ैक

मैंने सर्वर 2008 के साथ इन निर्देशों का पालन किया है, लेकिन दुर्भाग्य से मैं अभी भी देख रहा हूँ .nlp फाइलें और mscorlib वेब परिनियोजन का उपयोग करते हुए तैनाती में शामिल किया जा रहा है
नथन

1
आपका बहुत बहुत धन्यवाद। मैं जेनकिन्स का उपयोग कर रहा हूं और मैंने अभी .NET 4.5 का उपयोग करने के लिए अपनी परियोजना को अपडेट किया है। जब मैं अपने काम को जेनकिन्स पर धकेलता हूं तो यह गलत संस्करण के बारे में शिकायत नहीं करता है, यह लापता System.Runtime विधानसभा के बारे में शिकायत करता है। मैं फ़ाइलों की मैन्युअल प्रतिलिपि पर इस समाधान को पसंद करता हूं क्योंकि इस समाधान को स्वचालित करना आसान है।
डायमंड्स रैन

मैं Windows Server 2012 का उपयोग करता हूं, और मेरे पास Windows 8 (विकास मशीन) में VS2012 है। केवल मुझे MsBuild "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \" के लिए लक्ष्य की आवश्यकता है। SDK में बहुत अधिक शामिल हैं, है न?
Kiquenet

84

विजुअल स्टूडियो के बिना अपने सीआई सर्वर पर चलने के लिए, आपको केवल सीआई सर्वर पर एक ही स्थान पर एक विकास मशीन से कुछ फ़ोल्डर्स कॉपी करने की आवश्यकता है। एसडीके को स्थापित करने की कोई आवश्यकता नहीं है।

वीएस 2015:

  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ WebApplications

वीएस 2013:

  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Web
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ WebApplications

वीएस 2012:

  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications

वीएस 2010:

  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications

.NET 4.6:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.6

.NET 4.5.2:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.2

.NET 4.5.1:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.1

.NET 4.5:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5

.NET 4.0.1:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0.1

.NET 4.0:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0

या, जैसा कि मैट ने सुझाव दिया था , आप उन्हें अपनी परियोजना की उपनिर्देशिका में कॉपी कर सकते हैं और <MSBuildExtensionsPath32>अपने MSBuild (आमतौर पर .csprojया .vbproj) फ़ाइल में स्थान बदल सकते हैं ।

एक बार जब आप यह कर लेते हैं, तो आपकी परियोजना संकलित हो जाएगी।

आपको VisualStudioVersion परिवेश चर को स्पष्ट रूप से Visual Studio संस्करण (10.0 के लिए VS2010 के लिए 10.0, VS2012 के लिए 12.0, VS2013 के लिए 12.0, VS2015 के लिए 14.0) पर सेट करना चाहिए। आप यह सुनिश्चित करने के लिए उपयोग कर रहे हैं कि यह आपके कॉन्फ़िगरेशन में सही सेट है।


6
इससे हमारे लिए समस्या हल हो गई +1। मावेन / जावा से आ रहा है यह पागल है।
निमचम्पस्की 15

संदर्भ असेंबली .NET फ्रेमवर्क के साथ स्थापित नहीं है? MSBuild लक्ष्य नहीं। मुझे यकीन नहीं है कि संदर्भ असेंबली, मुझे लगता है कि हाँ।
किकेनेट

प्रतिलिपि बनाना C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 डेवलपर मशीन से बिल्ड मशीन पर एक ही फ़ोल्डर में, टीम सिटी के बाद मेरे लिए चाल चली थी। .NET 4.5 समाधान का संकलन नहीं किया जा सकता है, हालांकि एक .NET 4.0 समाधान पहले संकलन किया था।
टॉरस्टेड

संदर्भ असेंबलियों के लिए +1। मैं Teamcity और MSBuild14 का उपयोग कर एक 4.5.1 परियोजना का निर्माण कर रहा हूं और यह मेरी बिल्ड एजेंट मशीन पर लापता लिंक था।
एन। वारफील्ड

यह एक बेवकूफ समस्या है, लेकिन इसका एक सरल समाधान है।
कोरी

25

से MSDN :

विंडोज एसडीके अब एक पूर्ण कमांड-लाइन बिल्ड पर्यावरण के साथ जहाज नहीं करता है। आपको एक कंपाइलर स्थापित करना होगा और अलग से वातावरण बनाना होगा। यदि आपको संपूर्ण विकास वातावरण की आवश्यकता है जिसमें संकलक और एक निर्माण परिवेश शामिल हैं, तो आप विज़ुअल स्टूडियो 2012 एक्सप्रेस डाउनलोड कर सकते हैं, जिसमें विंडोज एसडीके के उपयुक्त घटक शामिल हैं।

इसे ठीक करने के लिए, मुझे C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5बिल्ड एजेंट्स पर अपनी डेवलपमेंट मशीन (जिस पर विजुअल स्टूडियो 2012 है) से फोल्डर कॉपी करना था । इस ऑपरेशन के बाद, टीम सिटी ने किसी भी अधिक त्रुटि की रिपोर्ट नहीं की थी और mscorlib.dll बिन फ़ोल्डर में आउटपुट नहीं था।


धन्यवाद, यह sdk डाउनलोड करने की आवश्यकता के बिना, मेरे लिए तय किया। (या स्वीकृत उत्तर के किसी भी चरण में)
कोहेन

1
यह निश्चित रूप से स्वीकृत उत्तर होना चाहिए। बहुत आसान है क्योंकि आपके पास निश्चित रूप से पहले से ही रेफरी असेंबली के साथ एक मशीन है।
जोश कोड्रॉफ

1
@artfulhacker VS 2012 और विन 8 एसडीके दोनों ही Win2k8 R1 पर स्थापित नहीं हैं। यदि आप R1 पर हैं जैसा कि मैं था, तो आपको रेफ असेंबलियों को कॉपी करना होगा।
जोश कोड्रॉफ

@JoshKodroff उल्लेख करना भूल गया, हमारे पास सर्वर 2012 बिल्ड एजेंट हैं, स्पष्ट करने के लिए धन्यवाद
आर्टफुलमेकर

1
लेकिन इस निर्देशिका में msbuild.exe की कोई प्रतिलिपि नहीं है। मैंने अपने देव पीसी पर वीएस २०२ स्थापित किया (बिल्ड मशीन नहीं), और मुझे अभी भी ४.५ संस्करण नहीं दिख रहा है।
ashes999

12

Microsoft बिल्ड टूल 2013 इस मामले में मदद करेगा, जैसा कि इसके डाउनलोड पृष्ठ का वर्णन है:

यदि आपके पास अपने कंप्यूटर पर विजुअल स्टूडियो स्थापित नहीं है, तो आप प्रबंधित एप्लिकेशन बनाने के लिए बिल्ड टूल्स 2013 का उपयोग कर सकते हैं। विजुअल बेसिक और सी # कंपाइलर भी इस डाउनलोड में शामिल हैं। (पहले के संस्करणों में, इन उपकरणों को स्टैंड-अलोन .NET .NET फ्रेमवर्क में शामिल किया गया था।)


1
थोड़ा और स्पष्टीकरण साथी प्रोग्रामर को यह समझने में मदद कर सकता है कि संदर्भ लिंक कैसे काम करता है। भविष्य में संदर्भ लिंक अब मौजूद नहीं हो सकता है।
NJInamdar

Microsoft ने 2013 और VS 2012 के लिए टूल 2013 बनाया ? वैसे भी, बेहतर Microsoft बिल्ड टूल या विजुअल स्टूडियो एजेंट 2012 stackoverflow.com/a/20373256/206730 स्थापित करें ?
किकेनेट

8

मेरा विभाग हमारे विन 7 बिल्ड मशीनों पर क्या स्थापित किया गया है, इसके लिए एक न्यूनतम दृष्टिकोण लेना पसंद करता है। हालाँकि, हम संभावित रजिस्ट्री कुंजी समस्याओं के कारण फ़ाइलों / फ़ोल्डरों को कॉपी और पेस्ट करना पसंद नहीं करते हैं। वीएस 2013 को स्थापित करने के बजाय, मैंने निम्नलिखित बहुत छोटे और मुफ्त घटक स्थापित किए। अब देव टीम वीएस 2013 वेब ऐप सफलतापूर्वक बना सकती है।


बहुत बहुत धन्यवाद। मुझे हमेशा आश्चर्य होता है कि मुझे कैसे मिलेगा Microsoft.WebApplication.targetsऔर मुझे उस पृथक शैल के बारे में कभी पता नहीं चला!
विलियम ग्रॉस

6

मैं Visual Studio एजेंटों के साथ इस समस्या को हल करता हूं।

आप Visual Studio एजेंट 2012 स्थापित करने का प्रयास कर सकते हैं।

http://www.microsoft.com/en-us/download/details.aspx?id=38186


VS2013 के लिए काम नहीं करता है। मैंने एजेंट और नियंत्रक स्थापित किया लेकिन C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 नहीं बनाया गया था
Guillaume

1
विजुअल स्टूडियो 2013 के एजेंट भी उपलब्ध हैं - जो लोग वीएस 2012 के बजाय इस सवाल को ध्यान में रखते हुए वीएस 2012 के साथ पढ़ रहे हैं।
J0e3gan

2
यह वास्तव में काम करता है! आपको बस विजुअल स्टूडियो 2013 शेल (आइसोलेटेड) (x86) और विजुअल स्टूडियो 2013 शेल (इंटीग्रेटेड) (x86)
एंड्री

@Andrii विजुअल स्टूडियो एजेंट्स 2012 को स्थापित करने की आवश्यकता है? या केवल विजुअल स्टूडियो 2012 और 2013 शेल (पृथक) (x86) और विजुअल स्टूडियो 2012 और 2013 शेल (इंटीग्रेटेड) (x86) बिना वीएस एजेंट स्थापित किए ?
किकेनेट

केवल गोले। मैंने 2013 में ही स्थापित किया था
एंड्री
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.