Nupack เป็นวิธีที่ง่ายในการผลิตแพ็คเกจ NUGET สำหรับ. NET 4.0+ ตาม AssemblyInfo หรือ NUSPEC เมื่อสร้างด้วย Visual Studio มันเป็นรูปเป็นแพ็คเกจ Nuget
เมื่อ NUPACK อ้างอิงโดยโครงการจะไม่มีการพึ่งพาการพึ่งพาจะมีเพียงขั้นตอนการสร้างใหม่ในการบรรจุเอาต์พุตโครงการลงในแพ็คเกจ NUGET โดยอัตโนมัติพร้อมชื่อโครงการเป็น ID
เมื่อตรวจพบไฟล์. NUSPEC เป็นส่วนหนึ่งของโครงการ NUPACK จะเคารพข้อกำหนดและไม่ได้ใช้การกำหนดค่าอัตโนมัติใด ๆ เพื่อสร้างแพ็คเกจ NUGET ที่คาดหวัง
ผลิตไลบรารีอย่างง่าย (โฟลเดอร์ LIB) ด้วยการพึ่งพาแพ็คเกจ NUGET รูปแบบนี้จะถูกนำไปใช้โดยอัตโนมัติเมื่อไม่มีไฟล์. NUSPEC ที่ตรวจพบสำหรับโครงการประเภทไลบรารีประเภท
เมื่อแพคเกจขึ้นอยู่กับแอปพลิเคชันคอนโซลและ. NUSPEC ไม่ได้ประกาศไดเรกทอรีบิลด์จะถูกกำหนดด้วยไฟล์. เป้าหมายเพื่อให้วิธีง่ายๆในการเพิ่มขั้นตอนการดำเนินการบิลด์เป็นโพสต์บิลด์ด้วย 5 อาร์กิวเมนต์:
การพึ่งพาสามารถเป็นแพ็คเกจ NUGET การอ้างอิงโครงการ ฯลฯ ... พวกเขาจะต้องรวมถึงการทำซ้ำในแพ็คเกจ NUGET ที่สร้างขึ้นด้วยรูปแบบที่เพียงพอ
กระบวนการ NUGET ไม่ได้เผยแพร่เอกสาร XML และทรัพยากรของการพึ่งพาในผลลัพธ์และไม่สามารถพิจารณาได้ในกระบวนการบรรจุภัณฑ์ NUPACK อนุญาตให้ Nupack เผยแพร่พวกเขาโดยอัตโนมัติช่วยรักษาโครงสร้างและเอกสารที่สะอาดโดยอัตโนมัติในแต่ละโหนด
Nupack สามารถให้ห้องสมุดเพื่อพัฒนาปลั๊กอินเป็นแพ็คเกจ NuGet มันจะตรวจจับปลั๊กอินจาก package.config และโหลดจากโฟลเดอร์ Nupack เพื่อเพิ่มพฤติกรรมเพิ่มเติมให้กับ Nupack ปลั๊กอินจะถูกเรียกด้วยอาร์กิวเมนต์ที่ส่งผ่านไปยัง Nupack และผลิต PackageBuilder จาก PackageBuilder ดั้งเดิมก่อนบันทึกผลลัพธ์ ปลั๊กอินจะถูกกำจัดหลังจากการสร้าง Nuget
NUPACK ต้องสร้างแพ็คเกจเฉพาะเพื่อจัดเก็บปลั๊กอิน (ไลบรารี) ในโฟลเดอร์ NUPACK เมื่อ Project Reference NUPACK.EXTENSION
เมื่อ Nupack ถูกอ้างอิงโดยแอปพลิเคชันคอนโซลชื่อ [Library]. optimizer และอ้างอิงไลบรารีชื่อ [Library] รูปแบบเครื่องมือเพิ่มประสิทธิภาพจะเสร็จสิ้น แพ็คเกจ NuGet ที่สร้างขึ้นมี [Library] .dll ลงในโฟลเดอร์ lib และ [Library]. optimizer.exe ถูกวางลงในโฟลเดอร์สร้างพร้อมไฟล์. targets เพื่อเรียกใช้เครื่องมือเพิ่มประสิทธิภาพในการสร้างใหม่ด้วยอาร์กิวเมนต์เดียวกัน แพ็คเกจ NuGet จะใช้ชื่อ [Library] เป็น ID หมายความว่ารูปแบบไม่ได้ทำหาก [Library] เป็นโปรดิวเซอร์ของ NuGet รูปแบบ Optimizer จะเป็นจุดเริ่มต้นในการเขียน IL ใหม่หรือเตรียมบางสิ่งบางอย่างตาม [Library] .DLL การใช้งาน
Visual Studio 2017 เปลี่ยนเทมเพลตการรวม NUGET NUPACK จะต้องได้รับการอัปเดตเพื่อรองรับ Visual Studio 2017
หนึ่งในสิ่งที่น่าหงุดหงิดกับ Nuget คือการมีข้อมูลเมตาที่สะอาดและเต็มรูปแบบ น่าเสียดายที่ AssemblyInfo ไม่ได้ให้วิธีการเปิดเผยความต้องการของ NuGet ทั้งหมด ในทางกลับกันมักจะต้องประกาศในหลายสถานที่ข้อมูลเดียวกันกับที่ทำให้เกิดปัญหาการซิงโครไนซ์และเพิ่มค่าใช้จ่ายในการบำรุงรักษา การใช้ GitHub.com API เพื่อสร้าง NuGet ให้เสร็จสมบูรณ์โดยอัตโนมัติอาจเป็นสิ่งที่ดีในการตอบสนอง