nuget

2014-11-19 9 views
6

का उपयोग कर पूर्व-रिलीज निर्भरताओं को अपडेट करना मैं वर्तमान में पुस्तकालयों का एक समूह विकसित कर रहा हूं जो प्रगतिशील रूप से और अधिक सुविधाएं जोड़ते हैं।nuget

उदाहरण के लिए, मेरे समाधान में, मैं एक Foo परियोजना जो और वेब विशिष्ट कार्यान्वयन के लिए, कुछ बुनियादी सुविधा सेट, एक अतिरिक्त परियोजना, Foo.Web को परिभाषित करता है Foo.Web.Tokens और भी विशिष्ट सुविधाओं के लिए की है। Foo.Web.TokensFoo.Web पर निर्भर करता है जो Foo पर निर्भर करता है।

मैं अलग-अलग न्यूजेट परियोजनाओं का निर्माण करने का प्रयास कर रहा हूं ताकि उपयोगकर्ता को केवल उन्हीं निर्भरताओं को संदर्भित करने की आवश्यकता हो। मैं GitVersionTask के साथ असेंबली का संस्करण बना रहा हूं, इसलिए निर्माण के बाद, वे सभी एक ही संस्करण संख्या प्राप्त करते हैं और from a project बनाते समय मैं nuget के लिए प्रतिस्थापन टोकन का उपयोग कर रहा हूं ताकि सभी को एक ही संस्करण संख्या हो।

मेरी समस्या यह है कि जब मैं Foo.Web या Foo.Web.Tokens का प्रीरलीज़ संस्करण संदर्भित करने का प्रयास करता हूं तो Foo पर निर्भरता को हल करने में असमर्थ है। अगर, उदाहरण के लिए, मैं विधानसभाओं में से प्रत्येक के लिए एक 1.1.0.0-alhpa0001 पैकेज को प्रकाशित किया है, जब मैं कोशिश करते हैं और Foo.Web अद्यतन करते हैं, nuget इस त्रुटि दिखाता है:

Install-Package : Unable to resolve dependency 'Foo (≥ 1.1.0.0)'.

-Pre तर्क का उपयोग करते हुए इस परिवर्तन नहीं करता है। एक Foo.1.1.0-alpha0001.nupkg मौजूद है, लेकिन मैं nuget की तरह लगता है यह समस्या हल नहीं होगी क्योंकि यह एक स्थिर संस्करण नहीं है, और मैं अपने आप निम्न आदेश का उपयोग कर nuget दे रहा हूँ समाधान से निर्भरता का पता लगाने:

.\.nuget\NuGet.exe pack source/Foo.Web/Foo.Web.csproj -Build -Version 1.1.0.0-alpha0001 -symbols -IncludeReferencedProjects

कैसे कर मैं Foo.Web प्रीरलीज पैकेज को Foo उसी संस्करण के प्रीरलीज पैकेज को सही तरीके से संदर्भित करने की अनुमति देता हूं?

+0

मैं यदि आप इस समस्या को हल कर सोच रहा था? यदि आपने किया, तो मुझे इसके बारे में सुनना अच्छा लगेगा। –

उत्तर

0

IncludeReferencedProjects विकल्प संदर्भित परियोजना के assemblyinfo.cs से संस्करण खींचने लगता है।

वांछित nuget पैकेज संस्करण में AssemblyInformationalVersion विशेषता को सेट करने के रूप में कार्य करना प्रतीत होता है जैसा आप चाहते हैं।

जैसे [assembly: AssemblyInformationalVersion("1.1.0-alpha0001")]