手把手教你搭建nuget服務器


新建web項目

工具:VS2013

版本:.Net Framework 4.6,低版本也行,不過要找到對應版本的Nuget.Server

裝了NuGet客戶端(百度如何安裝)

WebForm或MVC都行,此web項目將作為自己的NuGet服務器程序

我建的是MVC項目

安裝NugetServer

工具欄—工具—NuGet包管理器—程序包管理器控制台

訪問:https://www.nuget.org/packages/NuGet.Server/

找到適合自己的版本,我這里選擇的是最新的版本

執行命令:Install-Package NuGet.Server -Version 2.11.3

中間NuGet會詢問web.config、favicon.ico文件與項目默認的有沖突,是否覆蓋,直接輸入“Y”就行了。

發布站點

右鍵項目—發布—新建配置文件

輸入:MyNugetServer

發布方法:文件系統

設置目標位置:D:\TCProjectPublish\MyNugetServer

完了點擊發布

搭建IIS站點

新建站點:MyNugetServer

右鍵網站—添加網站

沒啥好說的,注意下應用程序池

訪問站點

http://你自己的ip/nuget/,要帶nuget,用域名也行

說明NuGet服務器已經搭建好了

申請api keys

網址:https://www.nuget.org/

先注冊,再登錄,完了獲取api keys

下載NuGet Package Explorer

需要用到工具:NuGet Package Explorer,這個工具非常好,再也無需在命令行操作了。

下載地址:http://npe.codeplex.com/

點擊download會自動跳轉到下面的地址

https://npe.codeplex.com/releases/clickOnce/NuGetPackageExplorer.application

雙擊運行

創建新的package

將你的dll文件直接拖到右側框框里

選擇yes

完了之后,左上角File—Publish

點擊Publish,會報錯:Failed to process request:’Access denied for package ‘TestDll’.’.

原因是web.config里面沒有配置api keys。還記得我們安裝NuGet.Server時的沖突提示嗎?

打開web.config,找到<add key="apiKey" value="" />,填寫自己申請的api keys,並重新發布。

提示成功:Package published successfully.

默認發布在Nuget服務端程序根目錄下的Packages文件夾內

這個發布目錄可以在web.config里面修改<add key="packagesPath" value=""/>

驗證

添加包源:工具欄—工具—NuGet包管理器—程序包管理器設置—程序包源

完了之后,更新—確定。

最后會看到我們提交的TestDll包。

安裝后,項目的引用里面也會看到

最后使用TestDll

參考網址

解決:Failed to process request:’Access denied for package ‘TestDll’.’.

https://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/31/403-and-413-errors-when-publishing-to-a-local-Nuget-Server

說下這個問題的解決過程,百度是搜索不到的,只能用代理訪問谷歌。才找到解決方法。

用 NuGet Package Explorer 管理你的攻城武器

http://www.cnblogs.com/stoneniqiu/p/3740080.html

搭建自己的Nuget服務器

http://www.cnblogs.com/knowledgesea/p/5500954.html

發布有依賴關系的NuGet包

鼠標拖到最下邊,點擊“Edit dependencies”按鈕

Package source填寫自己的NuGet服務器地址,然后點擊Reload,會看到已存在的包

雙擊選中的包

如果包太多,還可以搜索

接着就可以看到成功添加了依賴包

然后再發布,就會看到已經上傳到NuGet服務器上了

在項目里引用:

 

安裝的雖然是TestDll,但是依賴的Newtonsoft.Json也會一起安裝。


免責聲明!

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



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