Nine MVP's Blog

01/04/2014

ย้าย MVC dll จาก path ไปใช้บน Nuget

Filed under: Uncategorized — Tags: , — Nine MVP @ 8:18 am

ใครที่ยังใช้ MVC ที่ dll ติดมากับตัว installer ดั้งเดิม 
สามารถสลับไปใช้ library จาก nuget package ได้เลยครับ 
จะได้ใช้ feature package restore ในตอน build สะดวกๆ 
ไม่ต้องแบก dll ไปมาระหว่างเครื่องเดฟอีกด้วย ‪#‎แค่ต่อinternetได้‬

ตัวอย่าง MVC3 
ปล. dll version ที่มากับตัว installer คือ 3.0.0.0 แต่ที่มีใน nuget จะเป็น 3.0.20105.1 อัพเกรดได้ไม่มีปัญหาอะไร

ให้ remove DLL
MVC,Razor,WebPages,Infrastructure เก่าที่อ้างอิงจาก gac หรือ install path ออกก่อน

แล้วสั่งที่ package manager console ดังนี้

PM> Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1

จะได้
<package id=”Microsoft.AspNet.Mvc” version=”3.0.20105.1″ targetFramework=”net40″ />
<package id=”Microsoft.AspNet.Razor” version=”1.0.20105.408″ targetFramework=”net40″ />
<package id=”Microsoft.AspNet.WebPages” version=”1.0.20105.408″ targetFramework=”net40″ />
<package id=”Microsoft.Web.Infrastructure” version=”1.0.0.0″ targetFramework=”net40″ />

จากนั้นทดสอบรันดูครับ 

!!! อย่าลืมใช้ Source Control จะได้ช่วย rollback หากมีปัญหาเกิดขึ้น !!!

เล่าต่อ

nuget ได้แรงบรรดาลใจมาจาก library version manager จาก ruby gems และข้อดีจากเจ้าอื่นๆ มาพัฒนา ซึ่งช่วยจัดการ library version ได้ดีมากทีเดียว

ใครที่ยังใช้ nuget package restore ไม่เป็นอ่านที่นี่ 
http://docs.nuget.org/…/using-nuget-without-committing

เล่าสั้นๆว่า หากเราใช้ nuget package restore เราไม่จำเป็นต้อง check-in dll เข้าไปใน source control แต่มันจะถูก restore กลับมาเมื่อตอนเราสั่ง build solution/project 
ทำให้ไม่ต้องมานั่งค่อย update dll เข้า source control อีกต่อไป 
และวิธีนี้เหมาะกับ environment ที่มี internet เว้นแต่จะตั้ง nuget service เองในบริษัทครับ

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: