NuGet นำ .NET class library ต่างๆ มาใช้ใน project ของเราได้อย่างง่ายดาย
เมื่อ :
21-Jul-11 2:57
อ่าน :
465 ครั้ง
Tag :
nuget
ในการเขียนโปรแกรมด้วย .NET ขึ้นมาใช้งาน มีบางครั้งที่เราจำเป็นต้องนำ class library ที่เขียนด้วยผู้อื่น มาใช้ภายใน project เพื่อช่วยในการทำงานบางอย่าง
ตัวอย่าง class library
-
NHibernate สำหรับ ORM
-
Log4Net สำหรับสร้าง log ในโปรแกรม
-
AutoMapper สำหรับ mapping object ที่ต่าง class แต่มีโครงสร้างเหมือนกันได้ object to object
การนำ class library เหล่านี้มาใช้ใน project จะมีขั้นตอนโดยทั่วไปดังนี้
-
ไปที่ website ของ class library เหล่านี้
-
download class library
-
อ่านวิธีการติดตั้ง
-
ติดตั้งเข้าใน project ของเรา
-
setting ค่าต่างๆ เพื่อให้ใช้งานได้
-
ในบางครั้ง class library ที่เราใช้จำเป็นต้องใช้ค่ากับ class library อื่่น ก็จำเป็นต้องติดตั้ง library เหล่านั้นด้วย
จะเห็นได้ว่า บางครั้งเพียงแค่การติดตั้ง class library เพื่อใช้งานก็กลายเป็นเรืองที่น่าเบื่่อ และหาก library ตัวนั้นมีการติดตั้งที่ยุ่งยากอีกก็ยิ่งทำให้เสียเวลา
ทีมงานของ Microsoft จึงได้สร้างทางเลือกในการนำ class library เข้ามาใช้อย่างง่ายได้ด้วย Nuget
Nuget เป็น pagkage management คือเป็นตัวจัดการพวก class library ต่างๆที่จะใช้ใน project
การจะใช้งาน NuGet ได้จะต้องไป donwload มาก่อนโดยเข้าไปที่ http://nuget.codeplex.com/ หรือ คลิกที่นี่เพื่อ download โดยตรง
NuGet เป็น add-on ของ Visual Studio เมื่อติดตั้งแล้ว จะถูกเรียกใช้งานภายใน Visual Studio เราสามารถใช้งาน Nuget ได้ทั้งแบบ GUI หรือผ่าน Console ในตัวอย่างนี้ผมจะแนะนำการใช้งานผ่าน Console เพราะคิดว่าใช้งานได้สะดวกและรวดเร็ว ขั้นตอนการเรียกใช้งาน NuGet
-
เปิด project ที่สร้างด้วย Visual Studio 2010 ขึ้นมา ในตัวอย่างนี้ผมได้สร้าง project ที่เป็น ASP.NET MVC 3 โดยมีชื่อว่า MyMvcWeb ไว้ก่อนแล้ว
-
Visual Studio จะถูกเปิดขึ้นมาและมีโครงสร้างต่างๆ ของ project MyMvcWeb อยู่ใน Solution explorer
-
ที่ Menu Bar เลือก Tool > Library Package Manager > Package Manger Console
-
บริเวณด้านล่างของหน้าจอ Package Manager Console Windows จะแสดงขึ้นมา
-
หากต้องการจะเพิ่ม class libary ตัวใดเพียงพิมพ์คำสั่ง Install-Package <ชื่อของ class library> ตัวอย่างเช่น
ผมจะเพิ่ม Ninject (สำหรับทำ Dependency Injection) โดยการพิมพ์คำสั่งต่อไปนี้ Install-Package Ninject.MVC3 หลัง PM >
การพิมพ์คำสั่งเป็นดังรูปต่อไปนี้
-
กด Enter เพื่อให้คำสั่งทำงาน
-
ระหว่างนี้ Nuget ก็จะทำการ download และติดตั้ง class library เข้าไปใน project
-
ผลลัพธ์ที่ได้หลังจากติดตั้งเรียบร้อยแล้ว
-
-
สังเกตว่า NuGet ได้ทำการเพิ่ม library อื่นที่จำเป็นต้องใช้เพือให้ Ninject.MVC3 ใช้งานได้
-
จะเห็นได้ว่า NuGet ช่วยอำนวยความสะดวกให้อย่างมากทีเดียว
-
การนำ class library ที่ได้ติดตั้งแล้วออกไป
หากเราไม่มีความจำเป็นที่จะใช้ class library ที่เคยติดตั้งไว้ใน project เราก็สามารถที่นำ class library นั้นออกไปได้ด้วยขั้นเหล่านี้
-
เปิด Package Manager Console
-
พิมพ์ Uninstall-Package <ชื่อ class library ที่จะเอาออกไป>
-
การติดตั้ง class library บางตัวได้ทำได้เพิ่ม class libary อื่่นเข้าไปด้วย หากต้องการที่จะเอา class library อื่นๆ ทีเกี่ยวข้องออกไปด้วยให้ใช้คำสั่ง RemoveDependencies ต่อท้ายเข้าไป คำสั่งทั้งหมดจึงเป็นดังนี้ Uninstall-Package <ชื่อ class library ที่จะเอาออกไป>
-
กด Enter เพื่อให้คำสั่งทำงาน
ผมคิดว่า NuGet เป็นเครื่่องมีที่มีประโยชน์มากเลยทีเดียวช่วยอำนวยความสะดวกและประหยัดเวลา ลองนำไปใช้กันดูนะครับ :)
ความเห็น