介紹下Nuget在傳統Asp.net項目中的使用

來源:互聯網
上載者:User

最近學了不少NuGet的東西,也看了很多它的視頻,特別是在MIX11上的視頻。

如果我們要在MIX11上評出一個明星的話,你可能會覺得是WP7,或者是SL5,那麼你肯定錯了,明星肯定是NuGet。因為幾乎每個微軟演講的人員都在用NuGet。為什麼它會這麼受大家歡迎??很簡單,它提高了大家做事情得效率,而且使用起來輕鬆,簡單。

 

如果你去Google下nuget說明,你會發現結果如下:

基本上沒都少文章,而且好多都是我寫的那篇文章的轉載,聲明下,我不是臭美。。。就是覺得如果大家很多人有寫它的使用,那麼我就不用費勁再去寫這些了。特別是很多人都是說明它如何在Asp.net MVC項目中的使用。其實在傳統的Asp.net項目中同樣好用。

  關於NuGet的基本介紹你可以按我給的搜尋去找我寫的文章,我就不給link了。

 

在進行練習之前,我們先建立一個空的asp.net解決方案,(不是MVC )

 

 

1.添加第三方程式碼封裝的使用

傳統的添加dll方式,就是下載,解壓,然後找到需要添加到項目中的dll,接著添加引用,使用NuGet添加dll就比較簡單,首先你可以去Nuget.org去尋找是否有你要添加的第三方軟體包,例如我們要添加elmah:

使用Package Manager Console來添加Elmah。

 

除了添加dll,我們也可以添加別的檔案,例如我現在建立的是一個空的asp.net解決方案,那麼在web工程中我想把jQuery添加進來,項目模板中內建的是1.4的,我想用1.5怎麼辦呢??直接使用Install-Package Elmah就行了

 

現在去寫jquery的指令碼,你發現沒有智能提示,別急,可以使用 Install-Package jquery.vsdoc來安裝最新的智能提示包。。

 

 

2.如何建立本地引用

建立本地引用比較簡單了,例如,我們剛才已經添加了幾個安裝包,那麼你可以在解決方案下看到一個Packages檔案夾。本地引用我們就使用它吧。

點擊所示按鈕,進入Setting頁面,

 

添加一個名字為LocalFeed的當地套件源。路徑指向上面所說的那個packages檔案夾:

 

 

在Package Resource中找LocalFeed:

 

你可以把這個路徑指向任何一個存放nuget 包的地方。。。。。

 

 

3.建立自己公司的NuGet Server.

上面那個方式是使用本地的資源套件方式,那麼如果是一個大的公司,或者說你公司會提供一個伺服器來為你們存放內部的公用dll,傳統的大家添加這些公用的dll方式就是從SVN或者其他源碼管理工具上拿,也是需要先找到,然後去download,再添加引用進來。

如果有dll進行了更新,其他各個項目組都需要用新的dll,大家都得重複性的下載,添加引用,甚至還得刪除掉原來的dll。。。。

這時候建立本地的nuget server就顯得有必要了。

如何建立呢???????????????????

 

首先也是建立一個空的asp.net的項目:

 

說再安裝下Nuget.Server這個包,在nuget官方提供的Feed上就有它。

 

安裝好以後,在Packages檔案夾下放幾個nuget的包,然後訪問default.aspx:

 

在Packages頁面你可以看到包含的nuget包,nuget是OData形式的ATOM Feed。如:

 

 

按照第2點中介紹的把http://localhost:55326/nuget/添加到你的nuget源:

 

現在就可以把你們公司共用的dll打包成nuget的包,然後放到這個網站的Packages目錄下了。

上面一直介紹NuGet的feed如何自己建立,那麼公司內部如何打包nuget呢????

4.如何把代碼打包成Nuget包

首先需要去codeplex上下載nuget command line:

 

這玩意可是打包利器啊,教大家兩種打包方式:

a.直接通過工程檔案打包dll:

建立一個類庫,然後編譯下。把剛才下載的nuget.exe拷貝到工程檔案所在的檔案夾中:

 

通過命令列來建立nuget包:

搞定了:

 

 

B:使用nuget的spec檔案進行打包:

首先你得建立一個nuget的.spec檔案:

 

在工程中編輯剛才建立的spec檔案:

 

你可以編輯nuget包的資訊,比如作者,版本等等。。。

 

另外你也可以在打包時建立兩個檔案夾,一個是content,一個是tools檔案夾。

5.NuGet的進階應用程式(Scaffold的擴充)

這個部分會是結合powershell和t4模板來一起通過一個類來自動建立增刪改查的例子。我準備把原始碼放到codeplex上。

 

代碼和介紹說明我下周在公司和大家分享nuget後,再把文章和代碼已經ppt補上。。。。。。

 

如果你對NuGet感興趣,可以關注下我,到時候可以隨時看到文章更新。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.