2012-05-17 16 views
34

मैं NuGet पैकेज पुनर्स्थापना का उपयोग कर रहा हूँ। मैं एक टीएफएस बिल्ड सर्वर प्रक्रिया के दौरान कस्टम स्रोत निर्दिष्ट करना चाहता हूँ।NuGet पैकेज पुनर्स्थापना के साथ उपयोग करने के लिए सर्वर बनाने के लिए NuGet स्रोत निर्दिष्ट करें?

छिपे हुए '.nuget' फ़ोल्डर में NuGet.targets फ़ाइल का कहना है कि आप या तो स्रोत भंडार निर्दिष्ट कर सकते हैं, या यह% APPDATA% \ NuGet \ NuGet.config में NuGet.config पर वापस आ जाएगा।

हालांकि छुपे हुए '.nuget' फ़ोल्डर में भी NuGet.config है। मैंने माना कि यदि आपने NuGet.targets में स्रोत रिपॉजिटरीज निर्दिष्ट नहीं किए हैं, तो यह छुपा '.nuget' फ़ोल्डर में NuGet.config पर वापस आ जाएगा। यह मामला प्रतीत नहीं होता है।

कोई विचार?

उत्तर

6

pranavkm, NuGet devs से एक है, इस लेखन NuGet पैकेज की समय पुनर्स्थापित स्रोतों के लिए छिपा '.nuget' फ़ोल्डर में NuGet.config का उपयोग नहीं होगा पर के अनुसार। इसका उपयोग केवल समाधान विशिष्ट सेटिंग (स्रोत नियंत्रण बाइंडिंग को अनदेखा करने के लिए) के लिए किया जाता है। उनका कहना है कि यह NuGet टीम के लिए NuGet.config के सभी पहलुओं का लाभ उठाने के लिए रडार पर है, लेकिन यह प्राथमिकता में टक्कर लगी है।

+3

एफवाईआई, अद्यतन: पदानुक्रमित NuGet.configs v2.1 के रूप में समर्थित हैं। Http://docs.nuget.org/docs/release-notes/nuget-2.1 –

+1

भविष्य में इंटरनेट खोजकर्ताओं के लिए, "nuget.exe" का कमांड लाइन संस्करण -सोर्स "https: //www.nuget है। संगठन/एपीआई/वी 2 /; http: // myother स्रोत/myrepository/" – granadaCoder

18

यदि आप पैकेज पुनर्स्थापित करने में सक्षम हैं, तो आपको $ (SolutionDir) \ n nget फ़ोल्डर में एक NuGet.targets MSBuild फ़ाइल मिल जाएगी।

आप < पैकेज स्रोतों > "</पैकेज स्रोत > तत्व को संशोधित करके पैकेज स्रोत सेट कर सकते हैं।

उदाहरण:

<!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config --> 
<PackageSources>"http://packages.nuget.org/api/v2/;http://myget.org/F/myfeed/"</PackageSources> 
+4

इस सवाल का जवाब नहीं दिया। मैंने पहले ही बताया है कि आप स्रोत निर्दिष्ट करने के लिए NuGet.targets का उपयोग कर सकते हैं। सवाल NuGet.config के बारे में था और क्या इसका उपयोग किया जाएगा। –

24

NuGet के वर्तमान संस्करण के साथ समाधान की NuGet.config फ़ाइल में कस्टम रिपॉजिटरीज निर्दिष्ट करना संभव है और निर्माण के दौरान पैकेज पुनर्स्थापित करने में सक्षम है।

<configuration> 
    <solution> 
    <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 

    <packageSources> 
    <add key="Internal" value="http://MyInternalRepository/nuget" /> 
    </packageSources> 

    <packageRestore> 
    <add key="enabled" value="True" /> 
    </packageRestore> 

</configuration> 

नोट:: TFS2013 के डिफ़ॉल्ट बिल्ड प्रक्रिया टेम्पलेट पहले से ही लागू करता NuGet पैकेज के बिना पुनर्स्थापित कार्यप्रवाह इस NuGet.config फ़ाइल के बाद हमें स्वचालित रूप से निर्माण परिभाषा में किसी भी अन्य कार्यों के बिना एक TFS निर्माण के तहत आंतरिक रिपोजिटरी से संकुल को बहाल करने की अनुमति दी यहां बताया गया कोई विशेष कॉन्फ़िगरेशन: http://docs.nuget.org/docs/reference/package-restore-with-team-build

+0

यह" किसी भी विशेष विन्यास के बिना "की एक दिलचस्प परिभाषा है। वास्तव में, पुनर्निर्देशित पुनर्स्थापना का कार्यान्वयन कस्टम बिल्ड प्रक्रिया के माध्यम से होता है - बिल्ड प्रक्रिया टेम्पलेट के साथ कुछ भी नहीं करना। ऐसा नहीं है कि इनमें से कोई भी ओपी के सवाल का जवाब देता है। – bornfromanegg

+1

@ user1158174 यदि आप उस पृष्ठ पर आलेख की शुरुआत की शुरुआत करते हैं, तो यह कहता है: 'टीम फाउंडेशन बिल्ड 2013 ऑन-प्रिमाइसेस और विजुअल स्टूडियो ऑनलाइन (पूर्व में टीम फाउंडेशन सर्विस) के लिए, डिफ़ॉल्ट बिल्ड प्रोसेस टेम्पलेट्स पहले से ही NuGet पैकेज को लागू करते हैं बिना किसी विशेष कॉन्फ़िगरेशन के वर्कफ़्लो को पुनर्स्थापित करें।निम्नलिखित जानकारी केवल टीम फाउंडेशन बिल्ड 2012 और पहले, या अनुकूलित प्रक्रिया टेम्पलेट्स पर लागू होती है जिन्हें अनुकूलित किया गया है और NuGet पुनर्स्थापना कार्यक्षमता को हटा दिया गया है। ', इसलिए हाँ, टीएफएस 2013 पहले से ही 100% स्वचालित रूप से करता है (हम वास्तव में इसका उपयोग करते हैं कंपनी)। – julealgon

+0

आपको बहुत धन्यवाद – Pharylon

3

दूसरा विकल्प बिल्ड सर्वर पर मशीन-व्यापी (उपयोगकर्ता-विशिष्ट नहीं) nuget कॉन्फ़िगरेशन में स्रोत जोड़ना है।

https://stackoverflow.com/a/27569020/374837

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