कैसे जोड़ने के लिए NuGet स्रोत केवल पैकेज निर्भरताएँ
मेरे पास एक ढांचा है जिसे मैंने Microsoft के CRM / XRM / CDS / PowerPlatform / DataVerse plugins के साथ उपयोग करने के लिए बनाया है। ये प्लगइन्स बाहरी गैर- नेट फ्रैमवर्क गैर- MicrosoftSDK dlls पर कोई निर्भरता नहीं रख सकते हैं। ILMerging निर्भरता के बजाय मैंने NuGet के स्रोत केवल पैकेज का उपयोग किया है जो स्रोत फ़ाइलों को NuGet के माध्यम से साझा करने की अनुमति देता है, संदर्भित करने की आवश्यकता को हटाकर और अन्य dll को ILMerging करता है।
मैं इन NuGet संकुल डॉटनेटकोर को संगत बनाने का प्रयास कर रहा हूँ। दो नगेट पैकेज DLaB.Xrm.Source और DLaB.Common.Source हैं। DLaB.Xrm.Source DLaB.Common.Source पर निर्भर करता है। मैं डॉटनेटकोर के लिए कॉमन पैकेज के लिए Nuget पैकेज को सफलतापूर्वक अपडेट करने में सक्षम था, और सब कुछ बहुत अच्छा लग रहा था। मैंने तब डॉटनेटकोर के लिए Xrm पैकेज को अपडेट किया, लेकिन जब मैंने सिर्फ DLaB.Xrm.Source पैकेज इंस्टॉल करने का परीक्षण किया, तो इसमें DLaB.Common.Source पैकेज जोड़ा नहीं गया है, क्योंकि अब मुझे उन लापता लोगों के लिए त्रुटि मिल रही है। फ़ाइलें, भले ही यह एक निर्भरता के रूप में सूचीबद्ध है:

क्या मैं कुछ भूल रहा हूँ? वहाँ एक कार्यप्रणाली यह काम करने के लिए है, या मैं punt और सिर्फ DLaB.Common.Source फ़ाइलों को DLaB.Xrm.Source फ़ाइलों में सीधे शामिल करना चाहिए?
यह है कि मेरे पास अपनी NuSpec फ़ाइल में सूचीबद्ध निर्भरताएँ हैं:
<dependencies>
<group targetFramework="net">
<dependency id="DLaB.Common.Source" version="1.2.0.10" />
</group>
<group targetFramework="netcoreapp">
<dependency id="DLaB.Common.Source" version="1.2.0.10" />
</group>
</dependencies>
जवाब
ऐसा लगता है कि यह NuGet के लिए डिज़ाइन द्वारा है। इसके अनुसार:
https://docs.microsoft.com/en-us/nuget/reference/nuspec#dependencies-element
सामग्री फ़ाइलों को बाहर रखा गया है, इसलिए मुझे सबसे अधिक संभावना माता-पिता में निर्भरता के स्रोत फ़ाइलों को शामिल करना होगा।
बाहर करने के लिए:
अंतिम पैकेज में शामिल करने के लिए निर्भरता का संकेत देते हुए टैग (नीचे देखें) को शामिल / बहिष्कृत करने की एक अल्पविराम-सीमांकित सूची। डिफ़ॉल्ट मान बिल्ड है, विश्लेषक जो अति-लिखित हो सकते हैं। लेकिन सामग्री / ContentFiles भी अंतिम पैकेज में स्पष्ट रूप से बाहर रखा गया है जो अधिक नहीं लिखा जा सकता है । अपवर्जित के साथ निर्दिष्ट टैग में शामिल लोगों के लिए पूर्ववर्तीता शामिल है। उदाहरण के लिए, = "रनटाइम" को शामिल करें, "अपवर्जित करें =" संकलित करें "=" रनटाइम "के समान है।