.NET 4.0 CI सर्वर पर समस्याएँ बनाता है


99

कोई भी CI सर्वर पर Visual Studio 2010 को स्थापित किए बिना CI सर्वर पर संकलन करने वाले .NET 4.0 एप्लिकेशन प्राप्त करने का प्रबंधन करता है?

.NET 4.0 के लिए कोई SDK मौजूद नहीं है। CI सर्वर पर .NET 4.0 स्थापित किया है। Msbuild.exe सरल परियोजनाओं के लिए काम करता है और निम्नलिखित चेतावनी देता है:

(GetReferenceAssemblyPaths लक्ष्य) -> C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): MSB3644 को चेतावनी देते हैं: फ्रेमवर्क ".NETFramework, संस्करण = v4.0" के लिए संदर्भ असेंबली नहीं मिले थे। इसे हल करने के लिए, इस फ्रेमवर्क संस्करण के लिए एसडीके या टारगेटिंग पैक को स्थापित करें या अपने आवेदन को उस फ्रेमवर्क के संस्करण के लिए पुन: सेट करें, जिसके लिए आपने एसडीके या लक्ष्यीकरण पैक स्थापित किया है। ध्यान दें कि असेंबलियों को ग्लोबल असेंबली कैश (GAC) से हल किया जाएगा और संदर्भ असेंबलियों के स्थान पर उपयोग किया जाएगा। इसलिए आपकी असेंबली का इरादा आपके लिए सही तरीके से लक्षित नहीं हो सकता है।


1
मैं चेतावनी के बजाय इसे एक घातक त्रुटि कैसे बना सकता हूं? यह हमारे बिल्ड लॉग में छिपा हुआ है और इसके बजाय यह mscorlib.dll के बारे में कुछ गूढ़ संदेश के साथ आगे विफल रहता है
कर्नल पैनिक

मैंने इस पर एक विस्तृत पोस्ट यहाँ लिखी है: neelbhatt.com/2018/05/04/…
नील

जवाबों:


128

आपको अब VS स्थापित करने की आवश्यकता नहीं है, आप अब "Microsoft विंडोज एसडीके विंडोज 7 और .NET फ्रेमवर्क 4" के लिए इंस्टॉल कर सकते हैं।

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b


44
डिफ़ॉल्ट इंस्टॉल 1.7 जीबी है, लेकिन इनमें से अधिकांश फाइलें अनावश्यक हैं। यदि आप .NET डेवलपमेंट> इन्टेलिसेन्स और रेफरेंस असेंबली को छोड़कर सब कुछ अन-चेक करते हैं, जो आपको अभी भी .NET 4 लक्ष्यीकरण पैक देगा, जिसकी आपको आवश्यकता है (यह लगभग 450 एमबी है)।
ल्यूक सैम्पसन

1
आप .NET डेवलपमेंट> टूल्स को भी जांचना चाह सकते हैं, जो कई उपयोगिताओं जैसे कि sn.exe में लाएगा जो हस्ताक्षरित असेंबली से निपटने के लिए काम में आते हैं।
मायक्रो

8
एक वेब इंस्टॉलर भी है, इसलिए आपको केवल आवश्यक भागों को डाउनलोड करना होगा। यहां डाउनलोड किया जा सकता है: microsoft.com/download/en/confirmation.aspx?id=8279
रासमस

2
जबकि इसे "विंडोज 7 के लिए" नाम दिया गया है, यह समर्थित ऑपरेटिंग सिस्टम को ध्यान देने योग्य है: विंडोज 7, विंडोज सर्वर 2003 R2 मानक संस्करण (32-बिट x 86), विंडोज सर्वर 2003 R2 मानक x64 संस्करण, विंडोज सर्वर 2008, विंडोज सर्वर 2008 R2 , विंडोज विस्टा, विंडोज XP सर्विस पैक 3
अलीगामा

2
वह जवाब मेरी मदद करो। मुझे sdk 7.1 स्थापित करने में एक अलग समस्या थी, जो यहाँ हल हुई जैसा कि mathworks.com/matlabcentral/answers/95039
ari

23

.NET 4.5 के लिए SDK यहां उपलब्ध है । मूल प्राधिकरण के साथ प्रॉक्सी के साथ इंस्टॉलर अच्छा काम करता है। समर्थित ऑपरेटिंग सिस्टम: विंडोज 8, विंडोज सर्वर 2012, विंडोज 7, विंडोज सर्वर 2008 आर 2

पीएस मेरा जवाब जेरेमी के जवाब के लिए एक टिप्पणी की तरह है , लेकिन जवाबों पर टिप्पणी करने के लिए मेरे पास पर्याप्त प्रतिष्ठा नहीं है।


1
संदर्भित पृष्ठ से: "विंडोज एसडीके अब पूर्ण कमांड-लाइन बिल्ड पर्यावरण के साथ जहाज नहीं करता है। विंडोज एसडीके को अब एक संकलक और अलग से स्थापित करने के लिए पर्यावरण की आवश्यकता है।" इसलिए मुझे लगता है कि बिल्ड सर्वर को चलाने के लिए यह पर्याप्त नहीं है।
क्रिस

1
इसने मेरे लिए इसे ठीक कर दिया। आपको केवल ".NET फ्रेमवर्क 4.5 सॉफ्टवेयर डेवलपमेंट किट" विकल्प का चयन करना होगा जिसमें केवल 62.3 एमबी की आवश्यकता होती है और SharePoint Apps परिनियोजन के लिए Windows Server 2012 R2 पर स्थापित TFS बिल्ड 2013 सर्वर पर ठीक काम करता है। कोई ज़रूरत नहीं है FrameworkPathOverride पैरामीटर को ओवरराइड करने की।
कोएन जोमर्स

10

अन्य विकल्प: नेट 4.0 एसडीके या बनाम 2010 स्थापित किए बिना

सर्वर (190MB) के निर्माण के लिए अपने देव मशीन से संदर्भ असेंबली फ़ोल्डर की प्रतिलिपि बनाएँ।

msbuild -p का उपयोग करें: संदर्भ असेंबली फ़ोल्डर को इंगित करने के लिए FrameworkPathOverride विकल्प

संदर्भ असेंबली स्थान:

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

इस से मिला:

.NET 4.0 बिल्ड सर्वर संदर्भ असेंबली चेतावनियाँ MSB3644

यदि आपको यह त्रुटि मिलती है: "Microsoft.WebApplication.targets नहीं मिला" - बस dev मशीन से लक्ष्य कॉपी करें https://stackoverflow.com/a/5344246/423356

यदि mvc3 बिल्ड सर्वर में स्थापित नहीं है; mvc प्रोजेक्ट में "एडजस्टेबल असेंबलीज" जोड़ें http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

यदि आपके पास sdk या विज़ुअल स्टूडियो स्थापित किए बिना MSTest प्रोजेक्ट बनाने में त्रुटि है; इस बारे में कई ब्लॉग पोस्ट हैं, बुरा समाधान मेरे लिए बहुत जटिल है। मैं MSTest के बजाय NUnit का उपयोग करता हूं


चूंकि मेरे 2012 के सर्वर ने मुझे .Net 4 को स्थापित नहीं करने दिया क्योंकि इंस्टॉलर ने कहा कि एक उच्च संस्करण है। मैंने वही किया जो @kite ने कहा था और एक पीसी से कॉपी किया था जो वीएस 2012 था। इससे मेरे मसले हल हो गए।
चदेव 77

0

यह पृष्ठ प्रत्येक Visual Studio संस्करण के लिए .NET SDK सूचीबद्ध करता है। http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

एक छोटे डाउनलोड के लिए पूर्ण विंडोज एसडीके के बजाय 'डेवलपर पैक' या 'लक्ष्यीकरण पैक' चुनें।


यह डेवलपर पैक या लक्ष्यीकरण पैक को स्थापित करने के लिए एक सामान्य टिप हो सकता है, लेकिन .NET फ्रेमवर्क 4.0 के लिए विशिष्ट (यह सवाल सभी के बारे में है) ऐसा कोई पैक नहीं है और विंडोज एसडीके अपरिहार्य है।
लेक्स ली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.