2012-08-07 5 views
5

तो, मैं पैकेज मेरी समाधान पर बहाल सक्रिय कर दिया है - स्थापित करें-पैकेज NuGetEnablePackageRestoreटीएफएस नुगेट चाल जो मुझे पहले से ही नहीं पता है?

मैं स्थापित किया है और TFS पर NuGet अद्यतन बिल्ड सर्वर

मैं TFS पर वातावरण चर बना लिया है बनाएँ सर्वर - http://www.centrolutions.com/blog/post/2012/07/05/NuGet-and-TFS-2010-Automated-Build.aspx

मैंने अपने सभी पैकेज.config फ़ाइलों को हटा दिया है और हर प्रोजेक्ट पर फिर से शुरू किया है।

मैं के साथ निर्माण करने के लिए काम .nuget फ़ोल्डर पथ जोड़ दिया है, के साथ एक परिभाषित बिल्ड एजेंट फ़ोल्डर

मैं लगभग अपने आप को भोर में फांसी पर मेरी फंदा और योजना समाप्त हो गया है ... वहाँ कुछ मैं है मैं याद कर रहा हूँ

डाल करने के लिए TFS त्रुटियों

सी बिल्ड भूल: \ बनाता है \ 10 ....... nuget \ nuget.targets (76): पैकेज को बहाल डिफ़ॉल्ट रूप से अक्षम है। सहमति देने के लिए, विजुअल स्टूडियो विकल्प संवाद खोलें, पैकेज प्रबंधक नोड पर क्लिक करें और 'निर्माण के दौरान अनुपलब्ध पैकेज डाउनलोड करने के लिए NuGet को अनुमति दें' की जांच करें। आप पर्यावरण परिवर्तनीय 'EnableNuGetPackageRestore' को 'true' पर सेट करके सहमति भी दे सकते हैं।

और

C: \ बनाता है \ 10 ....... nuget \ nuget.targets (76): आदेश "" C: \ बनाता है \ 10 ....... nuget \ nuget.exe "इंस्टॉल करें" सी: \ बिल्ड \ 10 ...... \ packages.config "-सोर्स" "-o" सी: \ बिल्ड \ 10 ...... \ संकुल कोड के साथ बाहर निकला - 1।

सुरक्षा के लिए पूर्ण पथ हटा दिया गया।

खोज:

मेरे TFS व्यवस्थापक किसी उपयोगकर्ता को चर के रूप में वातावरण चर की स्थापना की! मैंने बस सोचा कि मैं उसे बिल्कुल दिखाने के लिए कहूंगा कि उसने इसे कैसे कॉन्फ़िगर किया और जैसे ही उसने किया, मुझे एहसास हुआ कि यह गलत था।

अब मुझे पैकेज पुनर्स्थापना त्रुटि नहीं मिल रही है ... wooo! हालांकि मुझे "संस्करण ढूंढने में असमर्थ" त्रुटियां मिल रही हैं, जो मुझे लगता है कि टीएफएस बॉक्स उचित पैकेज स्रोतों के बारे में नहीं जानता है। मैंने सत्यापित किया है कि पैकेज स्रोत टीएफएस बिल्ड बॉक्स से सुलभ है, मैंने पैकेज बॉक्स के संदर्भ में उस बॉक्स पर NuGet को कॉन्फ़िगर किया है।

क्या यह पैकेज सर्वर के बिना ऐसा करना संभव है? मैं अपने सभी स्थानीय बिल्डों के लिए फ़ाइल शेयरों का उपयोग कर रहा हूं, लेकिन मुझे आश्चर्य है कि क्या नियम टीएफएस बॉक्स को हिट करते समय बदलते हैं। क्या मुझे Nuget.config फ़ाइल में अपने पैकेज स्रोतों को परिभाषित करने की आवश्यकता है?

+1

क्या समस्या है? कोई त्रुटि संदेश? –

उत्तर

2

समस्या यह साबित हुई कि TFS व्यवस्थापक ने EnableNuGetPackageRestore पर्यावरण चर के लिए "उपयोगकर्ता चर" का उपयोग किया था। मैं बल्लेबाजी :(बंद इस अधिकार कभी नहीं अनुमान लगाया गया होता।

मैं चला गया और उसे इसे फिर से कॉन्फ़िगर देखा, और देखा कि यह गलत था ... उसे यह सही था, और अब यह ठीक काम करता है।

सभी सलाह के लिए धन्यवाद!

+2

और टीएफएस बिल्ड नियंत्रक/servic ई/एजेंट को पुनरारंभ करना होगा, जब तक सर्वर स्वयं पुनरारंभ नहीं किया जाता। – talisker

2

NuGet 2.0 से शुरू होने पर, आपको बिल्ड (गोपनीयता चिंता) के दौरान पैकेज डाउनलोड करने के लिए NuGet से सहमति करने की आवश्यकता है। यहां अधिक जानकारी: http://blog.nuget.org/20120518/package-restore-and-consent.html

यूआई में सहमति देने का विकल्प NuGet पैकेज प्रबंधक 1.8 के साथ जोड़ा गया है। यह टूल्स-> विकल्प-> पैकेज प्रबंधक-> सामान्य: "पैकेज पुनर्स्थापित: निर्माण के दौरान अनुपलब्ध संकुल डाउनलोड करने के लिए NuGet को अनुमति दें" के तहत यह तीसरा आइटम है।

वैकल्पिक रूप से आप EnableNuGetPackageRestore पर्यावरण चर को सत्य पर सेट करके सहमति दे सकते हैं।

+0

सुझाव के लिए धन्यवाद, लेकिन जैसा कि मैंने अपनी पोस्ट में कहा है, मैंने पर्यावरण चर बनाया है। इसके अतिरिक्त, मैं कल्पना नहीं कर सकता कि मैं बिल्ड सर्वर पर हर समाधान खोलना है और पैकेज पुनर्स्थापना को फिर से सक्षम करना है। बिल्ड सर्वर को एक हेडलेस सिस्टम माना जाता है जिसके लिए न्यूनतम बातचीत की आवश्यकता होती है। – farina

1

आप सक्षम पैकेज को बहाल है, तो आप पैकेज स्रोतों < PackageSources NuGet.targets में > तत्व आप फ़ाइल का उपयोग कर $ (SolutionDir) .nuget फ़ोल्डर में मिल जाएगा कॉन्फ़िगर कर सकते हैं।

क्या आप इन बिंदुओं को सही स्थान पर सत्यापित कर सकते हैं, और क्या वह पथ बिल्ड सर्वर से पहुंच योग्य है?

संबंधित मुद्दे