2017-02-10 4 views
5

मैंने एक लाइब्रेरी बनाई है जो उपयोग करता है: जेनेरिक, एक्सटेंशन विधियां और Func प्रतिनिधि। Func लाइब्रेरी में प्रतिनिधि .NET (संस्करण 3.5) के लिए सबसे नई सुविधा है। जब मैंने इसे न्यूजेट पर प्रकाशित किया, तो परियोजना .NET संस्करण 4.5.2 को लक्षित कर रही थी, लेकिन जब मैंने इसे एक प्रोजेक्ट में स्थापित करने का प्रयास किया जो संस्करण 4.5 को लक्षित करता है, तो यह विफल हो गया।nuget में एकाधिक ढांचे को लक्षित करने के लिए सबसे आसान तरीका?

यह सुनिश्चित करने के लिए कि .NET 3.5 और बाद के संस्करणों को लक्षित करने वाली किसी भी परियोजना पर पैकेज स्थापित किया जाएगा, क्या मुझे लाइब्रेरी में लक्ष्य ढांचे को 3.5 में बदलना चाहिए या मुझे निर्देशिका सम्मेलन का उपयोग करना चाहिए, और प्रत्येक के लिए अलग-अलग डीएल बनाना चाहिए ढांचा, यहां विस्तार से बताया:

Supporting multiple .NET framework versions

उत्तर

3

लक्ष्य जो lib फ़ोल्डर का मतलब है 3.5 के लिए पैकेज इस तरह होना चाहिए।

lib \ net35

तो एक पैकेज लक्ष्य net35, यह है कि इसके बाद के संस्करण .NET 3.5 या लक्षित करता है किसी भी परियोजना में स्थापित किया जा सकता है।

+0

तो, लक्ष्य ढांचे को बदलना सिर्फ नौकरी करेगा? क्योंकि मैंने इस संरचना के साथ अपनी लाइब्रेरी नहीं बनाई है: lib \ {net version} –

+0

हां, लक्ष्य ढांचे को बदलना आपके लिए यह करेगा। –

+0

जिज्ञासा के लिए, फ़ोल्डर सम्मेलन का उपयोग करने के बजाय इस दृष्टिकोण का उपयोग क्यों न करें? पुस्तकालय में उपयोग किए जाने वाले उच्चतम संस्करण को लक्षित करना प्रत्येक ढांचे संस्करण के लिए असेंबली बनाने से आसान और अधिक सुविधाजनक है? –

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