2012-02-10 14 views
67

मुझे पता है कि NuGet 1.4 संस्करण के बाद प्रॉक्सी सेटिंग्स कॉन्फ़िगरेशन की अनुमति देता है। लेकिन, मुझे कोई कमांड लाइन उदाहरण नहीं मिल रहा है।प्रॉक्सी के पीछे NuGet

मैं कुछ बिल्ड चलाने की कोशिश कर रहा हूं और NuGet कनेक्ट नहीं हो सकता है।

कमांड लाइन में प्रॉक्सी सेटिंग्स को कॉन्फ़िगर कैसे करें?

+1

प्रॉक्सी समस्याओं का सामना करने वाले अन्य उपयोगकर्ताओं के लाभ के लिए: आपको पता चलेगा कि NuGet संदेश प्रदर्शित करता है तो यह प्रॉक्सी हो सकता है: "दूरस्थ नाम हल नहीं किया जा सका: 'nuget.org'" – pduncan

+3

' http_proxy' और 'https_proxy' पर्यावरण चर के साथ-साथ आपकी सिस्टम प्रॉक्सी सेटिंग्स –

+0

इसके लिए अब एक समस्या है github: https://github.com/NuGet/Home/issues/458 – thekip

उत्तर

5

मैं गलत हो सकता था लेकिन मैंने सोचा कि यह आईई की प्रॉक्सी सेटिंग्स का उपयोग करता है।

यदि यह देखता है कि आपको लॉगिन करने की आवश्यकता है तो यह एक संवाद खोलता है और आपको ऐसा करने के लिए कहता है (लॉगिन है)।

कृपया इस का विवरण देखने ->http://docs.nuget.org/docs/release-notes/nuget-1.5

+0

यह करता है - इस दृष्टिकोण के साथ समस्या तब उठता है जब आपके निगम की समूह नीति लगातार आपकी आईई सेटिंग्स को उन लोगों तक वापस ले जाती है जो नाउजेट के साथ काम नहीं करते हैं, जैसा कि मेरे काम की जगह – Xcalibur

18

हो सकता है कि आप अपने devenv.exe.config

<system.net> 
    <defaultProxy useDefaultCredentials="true" enabled="true"> 
     <proxy proxyaddress="http://proxyaddress" /> 
    </defaultProxy> 
    <settings> 
     <servicePointManager expect100Continue="false" /> 
     <ipv6 enabled="true"/> 
    </settings> 
</system.net> 

को यह कोशिश कर सकते मैं NuGet Issue tracker

वहाँ से यह पाया NuGet + नेटवर्क समस्याओं के बारे में अन्य मूल्यवान टिप्पणियां भी हैं।

+2

पर होता है लेकिन यह मानता है कि devenve.exe (विजुअल स्टूडियो जो है) स्थापित है, जो कि नहीं होना चाहिए बिल्ड सर्वर –

0

this आज़माएं। असल में, कनेक्शन विफल हो सकता है यदि आपका सिस्टम nuget प्रमाण पत्र पर भरोसा नहीं करता है।

125

यह मेरे कॉर्पोरेट प्रॉक्सी के साथ काम करने के लिए मैंने किया है जो एनटीएलएम प्रमाणीकरण का उपयोग करता है। मैं NuGet.exe डाउनलोड किया और उसके बाद भाग गया निम्न कमांड (जो मैं CodePlex पर this discussion के लिए टिप्पणियों में पाया):

nuget.exe config -set http_proxy=http://my.proxy.address:port 
nuget.exe config -set http_proxy.user=mydomain\myUserName 
nuget.exe config -set http_proxy.password=mySuperSecretPassword 

यह मेरा NuGet.config%appdata%\NuGet (जो सेल्सियस के लिए नक्शे पर स्थित में निम्नलिखित डाल: \ Users \ myUserName \ AppData \ मेरे विंडोज 7 मशीन पर रोमिंग): संयोग से

<configuration> 
    <!-- stuff --> 
    <config> 
     <add key="http_proxy" value="http://my.proxy.address:port" /> 
     <add key="http_proxy.user" value="mydomain\myUserName" /> 
     <add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" /> 
    </config> 
    <!-- stuff --> 
</configuration> 

, यह भी मेरी समस्या NuGet के साथ तय हो गई केवल पहली बार मैं दृश्य स्टड में पैकेज स्रोत मारा काम कर कब।

ध्यान दें कि कुछ लोग हैं जो इस दृष्टिकोण की कोशिश की है टिप्पणी है कि वे कमांड लाइन से http_proxy.password कुंजी की स्थापना को छोड़ देते हैं, या बाद-तथ्य कॉन्फ़िग फ़ाइल से हटाने के लिए सक्षम किया गया है के माध्यम से सूचना दी है, और अभी भी प्रॉक्सी में NuGet फ़ंक्शन करने में सक्षम थे।

यदि आप पाते हैं, तथापि, कि आप चाहिए NuGet कॉन्फ़िग फ़ाइल में अपना पासवर्ड निर्दिष्ट करें, याद है कि आप कमांड लाइन से NuGet config में संग्रहीत पासवर्ड को अद्यतन करने के लिए जब आप अपने नेटवर्क को बदलने है लॉगिन करें, यदि आपके प्रॉक्सी प्रमाण-पत्र भी आपके नेटवर्क प्रमाण-पत्र हैं।

+0

NuGet कमांड लाइन ने मेरे NuGet.con में प्रविष्टियां नहीं जोड़े अंजीर फ़ाइल, लेकिन एक बार मैन्युअल रूप से फ़ाइल संपादित करने के बाद, यह बहुत अच्छा काम किया। – pduncan

+0

यह सही काम किया, धन्यवाद, तुमने मुझे बचाया! – Juan

+10

मेरे मामले में, मैंने ** http_proxy.password ** कुंजी पूरी तरह से छोड़ा और यह मेरे प्रमाणीकृत एडी प्रमाण-पत्रों से गुजरने में प्रसन्नता हुई। यह पासवर्ड को अक्सर बदलने की आवश्यकता को बचाता है। –

7

बस अगर आप nuget (https://www.nuget.org) के https संस्करण का उपयोग कर रहे हैं, तो ध्यान रखें कि आपको मानों को https के साथ सेट करना होगा।

  • https_proxy
  • https_proxy।उपयोगकर्ता
  • https_proxy.password
+1

https पासवर्ड nuget.config में सादा पाठ है यदि आप आर्केन्स गाइड का पालन करते हैं लेकिन https – dmce

+0

का उपयोग करते हुए नेक्रो को नहीं, लेकिन यह पूरी तरह से मेरी समस्या को ठीक करता है। धन्यवाद! – Bcbury

+0

यह मेरी समस्या को हल करता है, यहां अधिक जानकारी https://github.com/NuGet/Home/issues/5980। – jpierson

0
@arcain मैं हमारे प्रॉक्सी सर्वर के लिए निम्न विंडोज Azure सामग्री वितरण नेटवर्क यूआरएल जोड़ने के लिए किया था से सुझाव से

अलावा सफेद सूची है:

.msecnd.net 
1

एक और स्वाद उसी के लिए "nuget के लिए प्रॉक्सी": वैकल्पिक रूप से आप fiddler से कनेक्ट करने के लिए अपनी nuget proxing सेटिंग्स सेट कर सकते हैं। नीचे cmd प्रॉक्सी सेटिंग्स में डिफ़ॉल्ट nuget कॉन्फ़िग फ़ाइल में उपयोगकर्ता के लिए कम से बचा लेगा% APPDATA% \ NuGet \ NuGet.Config

nuget config सेट http_proxy = http://127.0.0.1:8888

जब भी आप इंटरनेट तक पहुंचने के लिए nuget, बस जरूरत है फिडलर खोलें, असफल होने पर आपके पास डिफ़ॉल्ट पोर्ट 8888 पर फिडलर सुन रहा है।

यह कॉन्फ़िगरेशन पासवर्क परिवर्तनों के प्रति संवेदनशील नहीं है क्योंकि फिडलर आपके लिए स्ट्रीम प्रॉक्सी के साथ किसी भी प्रमाणीकरण को हल करेगा।

1

बस एक छोटा सा अतिरिक्त ...

अगर यह काम करता है कि आप केवल http_proxy सेटिंग की आपूर्ति करने और उपयोगकर्ता नाम और पासवर्ड नहीं मैं एक परियोजना स्थानीय nuget.config फ़ाइल में प्रॉक्सी सेटिंग्स डाल सलाह देते हैं और यह वादा करता हूँ के लिए स्रोत नियंत्रण के लिए। इस तरह सभी टीम के सदस्यों को एक ही सेटिंग्स मिलती है।

एक खाली nuget.config बनाएं \

<?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
    </configuration> 

तब:।

nuget config -Set http_proxy="http://myproxy.example.com:8080" -ConfigFile .\Nuget.Config 

और अंत में अपने नए प्रोजेक्ट स्थानीय Nuget.config फ़ाइल के लिए प्रतिबद्ध।

4

वीएस2015 का उपयोग करने वाले किसी भी व्यक्ति के लिए: मुझे "407 प्रॉक्सी प्रमाणीकरण आवश्यक" त्रुटि का सामना करना पड़ रहा था, जिसने मेरा निर्माण तोड़ दिया। जांच के कुछ घंटों के बाद, यह पता चला कि एमएसबिल्ड 'डाउनलोड नूगेट' लक्ष्य के हिस्से के रूप में Nuget डाउनलोड करने का प्रयास करते समय प्रमाण पत्र नहीं भेज रहा था। समाधान सेल्सियस के लिए निम्न XML जोड़ने के लिए था: \ Program Files (x86) \ MSBuild \ 14.0 \ बिन \ MSBuild.exe.config <configuration> तत्व के अंदर:

<system.net> 
      <defaultProxy useDefaultCredentials="true"> 
      </defaultProxy> 
</system.net> 
+0

उत्कृष्ट, मेरे लिए काम किया, अच्छा और सरल, धन्यवाद। – DaveInCaz

0

@arcain द्वारा प्लस नीचे दिए चरणों का समाधान ऊपर हल मुझे इस मुद्दे

  1. चेकबॉक्स को चेक करना nuget.org सेटिंग्स मेरी समस्या का समाधान का उपयोग करने के "पैकेज स्रोतों" Nuget पैकेज चरनी सेटिंग के तहत संशोधित करना।

  2. मैं भी पैकेज स्रोत
    की पहली पसंद के रूप में है कि (nuget.org) का उपयोग करने मैं अपनी कंपनी पैकेज स्रोत अनचेक करें था सुनिश्चित करने के लिए nuget हमेशा वैश्विक स्रोतों से ऊपर चुना गया था बदल किया।

0

मेरे लिए समाधान शामिल करने के लिए

<add key="http_proxy" value="http://<IP>:<Port>" /> 
<add key="http_proxy.user" value="<user>" /> 
<add key="http_proxy.password" value="<password>" /> 

nuget.config फ़ाइल में था।

2

शायद यह किसी और की मदद करता है। मेरे लिए समाधान विजुअल स्टूडियो (2015/2017) पर NuGet सेटिंग्स खोलना था और एक नया फ़ीड यूआरएल जोड़ें: http://www.nuget.org/api/v2/

मुझे किसी भी प्रॉक्सी से संबंधित सेटिंग्स को बदलने की ज़रूरत नहीं थी।

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