Nupack هي وسيلة سهلة لإنتاج حزمة nuget لـ .NET 4.0+ استنادًا إلى AssemblyInfo أو NUSPEC عند البناء مع Visual Studio. يتم تجسيده كحزمة nuget.
عندما يكون Nupack مرجعًا من قبل المشروع ، لا يتم إنشاء أي تبعية ، لا يوجد سوى خطوة بناء جديدة لتعبئة إخراج المشروع تلقائيًا في حزمة nuget باسم المشروع كمعرف.
عندما يتم اكتشاف ملف .nuspec كجزء من المشروع ، فإن Nupack يحترم المواصفات وتطبيق أي تكوين تلقائي لإنتاج حزمة nuget المتوقعة.
إنتاج مكتبة بسيطة (مجلد LIB) مع تبعيات حزمة Nuget. يتم تطبيق هذا النمط تلقائيًا عندما لا يكون هناك ملف .nuspec تم اكتشافه لمشروع مكتبة النوع.
عندما تعتمد الحزمة على تطبيق وحدة التحكم ولا يتم الإعلان عن .nuspec ، يتم تعريف دليل الإنشاء بملف .Targets لتوفير طريقة بسيطة لإضافة خطوة إجراء بناء كبناء بعد 5 وسيطات:
يمكن أن تكون التبعيات عبارة عن حزم nuget ، ومراجع المشروع ، وما إلى ذلك ... يجب أن يتم تضمينها بشكل متكرر في حزمة nuget التي تم إنشاؤها مع نموذج adequat.
لا تنشر عملية Nuget وثائق XML وموارد التبعية في الإخراج ولا يمكن النظر فيها في عملية تغليف Nupack. السماح لـ Nupack بنشرها تلقائيًا تساعد في الحفاظ على بنية نظيفة ووثائق في كل عقدة.
يمكن أن توفر Nupack مكتبة لتطوير مكون إضافي كحزمة Nuget. سيتم اكتشاف المكون الإضافي من Package.Config وتحميله من مجلد Nupack لإضافة سلوك إضافي إلى Nupack. سيتم استدعاء البرنامج المساعد مع تمرير الوسائط إلى Nupack وإنتاج حزمة من الحزمة من PackageBuilder الأصلي قبل حفظ النتيجة. يتم التخلص من البرنامج المساعد بعد إنشاء nuget.
يتعين على Nupack إنشاء حزمة محددة لتخزين البرنامج المساعد (المكتبة) في مجلد Nupack عند مرجع المشروع nupack.extension.
عندما تتم الرجوع إلى Nupack بواسطة تطبيق وحدة تحكم يسمى [Library] .Optimizer والرجوع إلى مكتبة تدعى [Library] ، يتم إجراء نمط مُحسّن. تحتوي حزمة Nuget التي تم إنشاؤها على [Library] .dll في مجلد Lib و [Library] .oxeizer.exe يتم وضعها في مجلد الإنشاء مع ملف .Targets لتنفيذ المُحسّن على Postbuild مع نفس الوسائط من إجراء البناء القياسي لنمط تطبيق وحدة التحكم. سوف تأخذ حزمة Nuget اسم [Library] كمعرف. وهذا يعني أن النمط لم يتم ذلك إذا كان [المكتبة] منتجًا Nuget. سيكون نمط المُحسِّن نقطة دخول لإعادة كتابة IL على سبيل المثال أو إعداد شيء بناءً على [Library] .DLL.
Visual Studio 2017 تغيير قالب تكامل Nuget. يجب تحديث Nupack لدعم Visual Studio 2017.
أحد الأشياء المحبطة مع Nuget هو الحصول على بيانات تعريف نظيفة وكاملة. لسوء الحظ ، لا يوفر AssemblyInfo طريقة لفضح جميع احتياجات Nuget. من ناحية أخرى ، من الضروري في كثير من الأحيان الإعلان في مكان متعدد نفس المعلومات التي تسبب مشكلة التزامن وتضيف نفقات الصيانة. يمكن أن يكون استخدام Github.com API لإكمال إنشاء nuget تلقائيًا أمرًا جيدًا للبقاء رد الفعل.