2012-01-10 24 views
15

मैं एक nuget पैकेज स्थापित करने का प्रयास कर रहा हूं जिसने गलत रूप से इसकी निर्भरताओं में से एक निर्दिष्ट किया है। Common.Logging.Log4Net को log4net = 1.2.10 की आवश्यकता होती है हालांकि nuget पैकेज log4net> = 1.2.10 निर्दिष्ट करता है। यहां तक ​​कि अगर मैं मैन्युअल रूप से log4net का पुराना संस्करण स्थापित करता हूं, तो जब मैं Common.Logging.Log4Net इंस्टॉल करता हूं तो nuget log4net को 1.2.11 तक अपग्रेड करता है। निर्भरता संकल्प को बाईपास करने के लिए मुझे कम से कम कैसे मिल सकता है या कम से कम एक पर्याप्त संस्करण के स्थापित पैकेज पसंद करते हैं?मैं निर्भरताओं को अद्यतन करने से कैसे रोक सकता हूं?

उत्तर

33

आदेश निर्भरता संकल्प आप -IgnoreDependencies विकल्प का उपयोग कर सकते हैं बायपास करने में:

Install-Package -IgnoreDependencies ThePackageName 

आप उसे किसी खास संस्करण के लिए पैकेज को लॉक करने में सक्षम होना चाहिए हाथ से संपादन packages.config और सेटिंग अनुमति संस्करण संस्करण जिस संस्करण को आप अनुमति देना चाहते हैं उसे इंगित करने के लिए विशेषता है।

<package id="Common.Logging.Log4Net" version="1.2.10" 
    allowedVersions="[1.2,1.2.10]" /> 

ध्यान दें कि हालांकि उनकी इच्छा पैकेज को स्पष्ट रूप से अद्यतन करते समय पैकेज के संस्करण को अपग्रेड नहीं करती है।

संस्करण पर अधिक जानकारी के लिए nuget versioning documentation देखें।

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

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