架設自己的NuGet服務器

架設自己的NuGet服務器

注:本文主要參考了( 在內部架設NuGet服務器 )和(介紹下Nuget在傳統Asp.net項目中的使用),只是原本說的比較簡略,本文做了一些補充,更適合新接觸NuGet的朋友,在此感謝原作者的分享。

  可以參考文NuGet學習筆記(3) 搭建屬於自己的NuGet服務器

一、什麼是NuGet

NuGet(http://nuget.codeplex.com)是一個開源包管理器,它能更方便地把一些dll和文件(如jquery)添加到項目中,而不需要從文件中複製拷貝。拿個簡單的例子來說,如果想在項目中添加jquery1.5.2,用NuGet後就沒必要去官方下載,再手動添加到項目中,而是用一個命令“install-package jquery 1.5.2”就可以了。

 

官方網站(http://nuget.codeplex.com)已經提供了大量的開源代碼包,我們可以直接添加引用,也可以把我們自己的代碼打包提交上去,不僅如此,我們可以架設自己(或公司內部)的NuGet服務器,把我們自己的私有代碼放在服務器上,需要用時用NuGet添加就好了。

 

二、體驗NuGet

首先在VS中安裝NuGet插件,打開Tools->Extension Manager:

 

找到NuGet並安裝:

 

隨便打開一個WEB項目,打開Package Manager Console窗口: 

 

 現在即可體驗NuGet強大的功能啦,在Package Manager Console中輸入 Install-Package jquery試試吧:

 

 

上面要注意的是Pack source選擇是官方代碼源,這個在是默認的,下面將看到我們可以添加自己的代碼源。現在看看項目的Scripts文件夾,最新版的jquery是不是已經添加進去了呢。 

 

三、架設自己(或公司內部)NuGet服務器

下載 NuGetServer.zip ,這是一個用MVC3做的服務器端,提供了瀏覽包、上傳包的頁面。

解壓這個項目,用VS(我用的是VS2010)打開並編譯,然後發佈到內網服務器上。這裏要注意的是, 在內部架設NuGet服務器 一文中的NuGetServer.rar包中代碼有點問題,就是MVC中Global.asax.cs的路由配置信息跟App_Start/RegisterMvc3Routes.cs中的重複了,要註釋掉一個,我註釋掉的是Global.asax.cs中的:

 

 

編譯完成後發佈到IIS上,我這裏是發佈到本機上(也可以發佈到服務器上,企業內部架設的話最好發佈到企業內部服務器) ,在IIS中配置如下:

 

 這裏主機名也可以用localhost加端口,我個人比較喜歡域名形式,如果想配置成圖中域名的形式在hosts文件中更改一下路由即可:

 

然後找到剛纔添加網站時添加的應用程序池,改.Net Framework版本爲4.0:

 

 至此即可瀏覽網站了:

 

以上即爲服務器端的配置,看到這個頁面就表示OK了啦。

 

 四、把代碼打包爲NuGet包

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

image

 

這個工具兩種打包方式:

A.直接通過工程文件打包dll:

創建一個類庫,然後編譯下。把剛纔下載的nuget.exe拷貝到工程文件所在的文件夾中:

 

image

 

通過命令行來創建nuget包:

 

image

 

搞定了:

 

 

 

B:使用nuget的spec文件進行打包(這個也適用單個DLL,下面就以單個DLL爲例):

把要打包的DLL跟NuGet.exe放在一個目錄下,用nuget spec命令創建一個nuspec文件,這是一個XML文件:

打開Package.nuspec文件,可自定義一些配置,重要的是加上要打包的DLL信息:

 

然後用 NuGet pack打包成Nuget包:

 

至此打包完畢

 

五、 把NuGet包上傳到服務器

在第二步中架好的網站上上傳即可:

 

點擊頁布的 here 鏈接即可看到當前服務器上的NuGet包:

 

 

注:其中 在內部架設NuGet服務器 一文中作者自己寫了一個上傳工具,有興趣的朋友可以去看看。

 

六、在其他項目中使用 

到目前爲止服務器端已經配置完成,類庫跟DLL文件的打包也介紹完畢,下面要做的就是如何在其他項目中使用了。 

要在項目中使用我們先要添加自己的代碼源,步驟如下:

1、 進入Package Manager Settings:

 

2、添加我們自己的代碼源:

 

注意source哦,後面是nuget。 

3、在其他項目中打開Package Manager Console,選擇我們上面添加的代碼源,然後調用:

 

4、最後看看效果啦:

 

 

OK,大功告成,歡迎留言討論。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章