आज पैकेज को इंस्टॉल करते समय मुझे NuGet के अजीब व्यवहार का सामना करना पड़ा।NuGet कैसे तय करता है कि स्थानीय पैकेज कैश का उपयोग करना है या नहीं?
एक संक्षिप्त विवरण: मेरी बिल्ड स्क्रिप्ट के परिणामस्वरूप एक NuGet पैकेज है। मैं हर बार संस्करण नहीं बदलता, इसलिए प्रत्येक बिल्ड MyPackage.1.0.0.nupkg
उत्पन्न करता है। निर्माण के अंतिम चरण के रूप में, मैंने पैकेज को स्थानीय नेटवर्क के अंदर तैनात NuGet सर्वर पर धक्का दिया।
अब, एक अलग मशीन पर, मैं nuget install MyPackage -Source http://myserver/nuget
, जो स्पष्ट रूप से NuGet पैकेज को स्थापित करता है चलाते हैं।
समस्या तब होती है जब मैं MyPackage
का एक और अद्यतन धक्का देता हूं - अभी भी संस्करण 1.0.0
का। जब मैं इसे क्लाइंट मशीन पर पुनः स्थापित करने का प्रयास करता हूं, तो मुझे पैकेज का पिछला संस्करण मिलता है।
मैं it is the local cache to be blamed पता चला: यदि पैकेज स्थापित किया गया था, यह स्थानीय कैश में हो जाता है और अगली बार एक ही संस्करण के पैकेज स्थापित किया गया है, यह कैश से लिया जाता है। काफी उचित!
लेकिन, दूसरे हाथ पर, वहाँ nuget install
आदेश की एक -NoCache
विकल्प नहीं है, और मैं इसे स्थानीय कैश की अनदेखी करने की उम्मीद है।
हालांकि, यह सच नहीं है। पहली बार जब मैं इसे -NoCache
के साथ चलाता हूं, तो यह कैश अपडेट करता है और वास्तविक नवीनतम संस्करण स्थापित करता है। लेकिन, अगली बार पैकेज अभी भी कैश से लिया गया है, यहां तक कि -NoCache
विकल्प के साथ भी।
क्या इसकी उम्मीद है? क्या यह संस्करण बदलने के कारण नहीं है?
शायद ज़रुरत पड़े: सभी NuGet संचालन NuGet.exe
साथ और PowerShell सत्र से किया जाता है।
अद्यतन: मैं अजीब व्यवहार का निरीक्षण करता हूं, मैं केवल कैश की समाप्ति द्वारा समझा सकता हूं। जब पैकेज कैश किया जाता है, तो nuget install
पर आने वाली सभी कॉलों को पैकेज को कैश, से खींचें जब तक कि कुछ समय पास न हो जाए। मैंने सही अवधि नहीं देखी, लेकिन यह निश्चित रूप से एक घंटे से अधिक है। इस के बाद, nuget install
कैश में पैकेज अद्यतन करता है, और स्थिति एक ही ...
हो सकता है कि अगर आप में शामिल -verbosity विस्तृत अतिरिक्त लॉग हमें कुछ संकेत दे सकता है? – allen
यदि मैं कमांड लाइन में '-verbosity विस्तृत' जोड़ता हूं, तो यह अधिक जानकारी आउटपुट नहीं करता है, बस 'सफलतापूर्वक स्थापित' MyPackage.1.0.0 '' क्या आपको पता है ऐसा क्यों है? –
मुझे उम्मीद थी कि लॉग कुछ दिशा दिखाएंगे – allen