NuGet使用方法


如果你使用過VS2010.net,那么你應該知道2010中有個插件管理器,可以在插件管理器中添加NuGet,那么NuGet有什么用?他可以你每個版本的程序打包,每個版本的程序引用了

那個組件,組件是什么版本,他都准確的記錄在打包的文件中,以備下次引用時一起插入到項目中。像我們原來把一些組件插入到項目中時,都是把一些引用的文件插入引用N次才

能正常使用,有他了,你只需要在PM中輸入 Install-Package 組件名稱 就可以完美引用了。
NuGet的使用方式有兩種,一種是對於個人在自己的電腦上使用。另一種就是公司內使用,搭建一台服務器通過WEB自由使用共享組件。
詳情配置請參考“http://archive.cnblogs.com/a/2034508/”,我個人認為這個是最為簡單的方法。
你也可以參考一下這個“http://www.cnblogs.com/durongjian/archive/2011/06/30/2094342.html”,這個稍微復雜一些。

有需要用的朋友可以在此處下載:http://nuget.codeplex.com。

另外我自己寫了個批處理文件在此貼上僅供參考:


@echo off
@REM 項目名稱,注意:.csproj些文件名稱。
@set ProjectName=Jayrock.Json

 

@REM 打包后的NuGet服務器保存路徑。
@set PacksPath=D:\wwwroot\NuGet\NuGetSVR\Packages\

 

@REM NuGet.exe應用程序保存的位置,因為批處理文件是把NuGet復制到當前項目下在進行編譯的。
@set NuGetPath=D:\wwwroot\NuGet\NuGetSVR

 

@REM 判斷NuGet文件是否存在。
@if not exist "%NuGetPath%\NuGet.exe" (
 echo NuGet.exe 文件不存在,請檢查文件是否有效。
 @goto BuildEnd
)

 

@if not exist "NuGet.exe" copy "%NuGetPath%\NuGet.exe" .\NuGet.exe

 

@REM 自動生成nuspec文件,如果bin\Debug\已經生成DLL文件,則按照DLL的信息生成,否則默認。
@if not exist "%ProjectName%.nuspec" (
 @if exist "bin\Debug\%ProjectName%.dll" NuGet spec -a bin\Debug\%ProjectName%.dll
 @if not exist "bin\Debug\%ProjectName%.dll" (
  NuGet spec
  echo 請填寫完整 "%ProjectName%.nuspec" 文件,在次執行 build.bat 進行編譯!
  @goto BuildEnd
 )
)

 

@if not exist "%PacksPath%%ProjectName%" md "%PacksPath%%ProjectName%"

 

@REM 先編譯出Release版本,在開始打包文件。
NuGet pack -o %PacksPath%%ProjectName% -build -Properties configuration=release

 

:BuildEnd
echo. & pause


以下是參配置過程中發現的錯誤及解決方法

1. 當前版本為 v1.4,發生“遠程服務器返回錯誤: (404) 未找到”錯誤?
   此問題基本都發生在低於IIS7.0版本的服務器上,在上面的兩個參考Blog中他們使用的都是IIS7.0的版本,可能不存在此問題,所以兩位作者都沒提到此問題。
   在IIS的當前網站中添加MIME可以解決此問題,操作步驟如下:
   IIS ==》當前網站 ==》右鍵屬性 ==》HTTP 頭 ==》點擊“MIME 類型” ==》點擊“新建” ==》擴展名“.nupkg”,類型“application/zip”

 

2. 當前版本為 v1.5,發生“遠程服務器返回錯誤: (404) 未找到”錯誤?
   請先參考問題1的解決方法,如果還不行請安裝ASP.NET 中執行 URL 重寫組件,下載地址為:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM