मैं बाहरी बाइनरी (जैसे Moq, NUnit) और साझा कार्यक्षमता वाली आंतरिक लाइब्रेरी परियोजनाओं के लिए, हमारे सॉफ़्टवेयर देव प्रक्रिया में NuGet को शुरू करने की प्रक्रिया में हूं।परियोजना संदर्भ v NuGet निर्भरता
टीमसिटी हमारी आंतरिक लाइब्रेरी परियोजनाओं से NuGet पैकेज का उत्पादन कर रहा है, और उन्हें स्थानीय भंडार में प्रकाशित कर रहा है। मेरी संशोधित समाधान फ़ाइलें NuGet संकुल तक पहुंचने के लिए स्थानीय भंडार का उपयोग करती हैं।
निम्नलिखित स्रोत कोड समाधान पर विचार करें:
- Company.Interfaces.sln बनाता Company.Interfaces.1.2.3.7654.nupkg।
- Company.Common.sln अपने NuGet पैकेज के माध्यम से Company.Interfaces का संदर्भ होता है, और Company.Common.1.1.1.7655.nupkg बनाता है, Company.Interfaces.1.2.3.7654 निर्भरता के रूप में शामिल है।
- Company.DataAccess.sln कंपनी का उपयोग करता है। कंपनी जोड़ने के लिए कॉमन nupkg। इंटरफेस और कंपनी। संदर्भ के रूप में कॉमन। यह कंपनी.डाटाएप .1.0.8.7660.nupkg बनाता है, जिसमें कंपनी। कॉमन .1.1.1.7655 एक आश्रित घटक के रूप में शामिल है।
- कंपनी। उत्पाद.ए एक वेबसाइट समाधान है जिसमें सभी तीन लाइब्रेरी प्रोजेक्ट्स के संदर्भ शामिल हैं ( कंपनी का चयन करके जोड़ा गया। डेटाएप NuGet पैकेज)।
सवाल:
अगर वहाँ Company.Interfaces करने के लिए एक स्रोत कोड परिवर्तन है, मैं हमेशा फिर से अंकित करना और मध्यवर्ती पैकेज (Company.Common और Company.DataAccess) के पुनर्निर्माण और अद्यतन करने के लिए संकुल की जरूरत है कंपनी में। उत्पाद। ए?
या कि क्या स्रोत कोड परिवर्तन पर निर्भर करता है
- बग समाधान, या
- एक नई सुविधा, या
- एक तोड़ने परिवर्तन किया गया?
असल में, मेरे पास निर्भर पुस्तकालय पैकेज के 8 स्तर हैं। पैकेज के पूरे पेड़ को अद्यतन करने के लिए टूलिंग समर्थन है, क्या यह आवश्यक होना चाहिए?
मुझे अर्थपूर्ण संस्करण के बारे में पता है।
हम वीएस2012, सी # 4.0, टीमसिटी 7.1.5 का उपयोग कर रहे हैं।
क्या आपका ऐसा कुछ मतलब है? http://candordeveloper.com/2012/12/12/nuget-package-build-a-solution-of-projects/ –
हमारी NuSpec फ़ाइलों को अभी भी हाथ से संपादित किया गया है, दुर्भाग्यवश, स्वचालित संस्करण प्रतिस्थापन के लिए कुछ मैक्रोज़ के साथ। मेरा मतलब है कि निर्भर बिल्ड कॉन्फ़िगरेशन को स्वचालित रूप से ट्रिगर करने के रूप में, NuGet पैकेज अपडेट करें, परिणामस्वरूप परिवर्तनों की जांच करें (आमतौर पर .csproj और packages.config फ़ाइलें) और पत्ती परियोजनाओं तक श्रृंखला जारी रखें। –