2011-09-27 13 views
14

कहें कि मेरे पास एक ही कोड के कई संस्करणों के साथ निम्न समाधान है जो प्रत्येक एक अलग ढांचे को लक्षित करता है और मैं इससे एक nuget पैकेज उत्पन्न करना चाहता हूं।Nuget - एकाधिक परियोजनाओं के साथ समाधान पैक करना (एकाधिक ढांचे को लक्षित करना)

SharedLib.sln 
    SharedLib.Net35.csproj 
    packages.config 
    SharedLib.Net40.csproj 
    packages.config 
    SharedLib.Phone.csproj 
    packages.config 
    SharedLib.SL4.csproj 
    packages.config 

उम्मीद nupkg निम्नलिखित संरचना है

SharedLib.1.0.nupkg 
    lib/net35/SharedLib.dll 
    lib/net40/SharedLib.dll 
    lib/sl4-wp/SharedLib.dll 
    lib/sl4/SharedLib.dll 

nuget.exe pack SharedLib.SL4.csproj स्वचालित रूप से तय करेंगे कि लक्ष्य ढांचे SilverLight4 है और lib/sl4

में बाइनरी जगह मैं मैं के साथ एक SharedLib.SL4.nuspec फ़ाइल जोड़ सकते हैं अन्य परियोजनाओं से द्विआधारी शामिल करने के लिए <file> अनुभाग, लेकिन न्यूजेट को स्वचालित समाधान आउटपुट को उचित struc में स्वचालित रूप से रखने का कोई तरीका है ट्यूर (और सभी परियोजनाओं से packages.config में निर्भरता का पता लगाने?

उत्तर

8

नहीं, वर्तमान में कोई कस्टम बिल्ड स्क्रिप्ट लिखने के अलावा ऐसा करने का कोई तरीका नहीं है जो फ़ाइलों को सही जगह पर रखता है और फिर उन पर NuGet पैक चलाता है, या आपके द्वारा वर्णित .nuspec दृष्टिकोण को ले जाता है।

यह एक ऐसी सुविधा है जिसे हम चाहते हैं, लेकिन ऐसा करने के लिए एक अच्छा तरीका नहीं सोचा है। हालांकि, आपकी पोस्ट ने मुझे एक विचार दिया।

आज, आप एक .csproj फ़ाइल पर nuget पैक को इंगित कर सकते हैं।

हम एक ऐसे दृष्टिकोण पर विचार कर सकते हैं जिसने आपको इसे एसएसएल फ़ाइल पर इंगित करने की अनुमति दी है और यदि परियोजना के नाम कुछ सम्मेलन का पालन करते हैं, तो हम सभी परियोजनाओं को एक ही पैकेज में पैकेज करेंगे।

यदि आप वास्तव में यह सुविधा चाहते हैं, तो NuGet समस्या ट्रैकर में किसी समस्या को लॉग करने पर विचार करें। http://nuget.codeplex.com/workitem/list/basic

+0

मैं हो सकता है बस करो कि हालांकि मैं पूरी तरह से पता लगाना कि यह क्या है मैं चाहता हूँ :) नहीं किया हूँ 1. यह एक समाधान पर nuget बात करने के लिए अच्छा होगा और यह सब कुछ यह पता लगाने की है यह 2. अच्छा होगा अगर परिणामी पैकेज के अंदर विभिन्न ढांचे के संस्करणों में विभिन्न निर्भरता हो सकती है। जैसे WP संस्करण को एक अतिरिक्त पैकेज की आवश्यकता हो सकती है जो कि उन प्रकारों की आपूर्ति करता है जो WP कोर का हिस्सा नहीं हैं। मैं आपके उत्तर को अभी स्वीकार कर लिया हूं और इस मुद्दे पर थोड़ा और सोच सकता हूं। –

+4

एक एसएलएन पर रनिंग न्यूज पैक बहुत अच्छा होगा। मैं एक ही पैकेज में संबंधित असेंबली के एक सेट को अलग पैकेजों से अधिक आसान बनाने के लिए पैकेज करना चाहता हूं। वे एक-दूसरे पर निर्भर नहीं हैं। – PenFold

+2

कारण यह जीत ऐसी सर्वरों के लिए है जो एक एकल प्रोजेक्ट के लिए पैकेज बनाने और प्रकाशित करने के लिए बहुत सुविधाजनक हैं, लेकिन उपरोक्त की आवश्यकता होने पर एक दुःस्वप्न बन जाते हैं। मेरे लिए, कुछ महत्वपूर्ण कहानी भी गायब हैं जो पूरी सुविधा को अनावश्यक बनाती हैं। प्रत्येक सीएलआर के लिए पैकेज करने की आवश्यकता नहीं है *? –

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