NuGet服务器搭建教程

简介: 本文主要来自网络,进行整理而成,相关文章如下: http://diaosbook.com/Post/2012/12/15/setup-private-nuget-server https://www.cnblogs.com/dudu/archive/2012/06/05/nuget_server_push.html  https://www.cnblogs.com/haogj/p/4468512.html     NuGet 是.NET程序员熟知的给.NET项目自动配置安装library的工具,已经整合在了VS2010 SP1及以上的版本中。

本文主要来自网络,进行整理而成,相关文章如下:

http://diaosbook.com/Post/2012/12/15/setup-private-nuget-server

https://www.cnblogs.com/dudu/archive/2012/06/05/nuget_server_push.html

 https://www.cnblogs.com/haogj/p/4468512.html

 

 

NuGet 是.NET程序员熟知的给.NET项目自动配置安装library的工具,已经整合在了VS2010 SP1及以上的版本中。

一、网站构建

首先,确保你的机器在互联网上,并且能够访问NuGet服务器。

创建一个空的ASP.NET网站,选择Framework4(根据自己的需要创建一个web站点)

接下来,用NuGet为这个Web Project安装“NuGet.Server”库。

安装成功后,你的Solution会变成这样一个结构。并且不需要写任何代码或更改任何配置,它已经可以运行了。注意,Packages里只有一个readme.txt,这个目录是用来放NuGet包的,它就是存放包包的仓库。

现在,网站已经构建完成。

二、配置和部署

1. 在web.config > appSettings 中设置存放包包的仓库的路径

  <appSettings>
    <add key="packagesPath" value="~/Packages" /> </appSettings>

2. 在web.config > appSettings 中设置apiKey,上传包包时,需要通过这个apiKey进行验证。

  <appSettings>
    <add key="apiKey" value="12345trewq" /> </appSettings>

3. 在IIS中为这个项目创建一个Web站点,然后通过浏览器访问,如果设置正确,会出现如下的页面:

这里可以看见所有我们拷到packages目录下的包:

发布后访问http://nuget.xxxx.cn/nuget/Packages 可以看到所有的发布包

三、客户端打包/上传包包

1. 打包,也就是生成.nupkg文件

有三种方式:

a) 通过nuget pack命令

比如,我们对一个名称为“项目A”的VS2010项目进行打包,对应的命令行是:

开启cmd,切换到项目的.csproj所在文件夹同一级目录,

nuget pack 项目A.csproj -Build -Properties Configuration=Release

运行该命令后,nuget会自动调用msbuild以Release方式编译该项目并在当前文件夹中生成“项目A.nupkg”。

b) 在Visual Studio编译时自动打包

  要启用程序包恢复功能,可右键单击解决方案(注意,不是右键单击项目文件),并选择 Enable NuGet Package Restore (启用NuGet程序包还原) 选项。屏幕上会显示一系列提示对话框

  然后修改发布项目的.csproj文件,在PropertyGroup中添加<BuildPackage>true</BuildPackage>,如下图:

这样设置后,Visual Studio编译该项目时会自动在bin文件夹中生成对应的.nupkg文件。

c) 通过msbuild命令在编译时进行打包

比如,在命令行中运行下面的命令:

msbuild CNBlogs.Infrastructure.Logging.csproj /p:BuildPackage=true

注:通过msbuild传参数不需要修改任何配置文件,这样可以很方便地进行自动化。

2. 上传至NuGet服务器

 通过nuget push命令进行上传,比如:

nuget push 项目A.nupkg -s http://nuget.cnblogs.com 12345trewq

注:项目A.nupkg是包包的名称,http://nuget.cnblogs.com是NuGet Server网址,12345trewq是之前在web.config中设置的apiKey。

【遇到的问题】

开始时,我们执行这个命令后,出现错误:

Failed to process request. 'Method Not Allowed'.
The remote server returned an error: (405) Method Not Allowed..

产生这个错误是由于IIS安装了WebDAV模块:

删除WebDAV Module与WebDAV Hanlder,上传时会返回404错误,通过浏览器访问路径nuget/Packages也是404错误。

查看IIS日志发现nuget push实际执行的是HTTP PUT操作 —— PUT /api/v2/package/,WebDAV不允许这个操作。解决方法在文章末尾。

 

3. 打包/上传一条龙

a) 通过批处理实现

优点:可自动化,可一次打包/上传多个项目。

批处理示例:

nuget pack ..\CNBlogs.Domain.Core\CNBlogs.Domain.Core.csproj -Build -Properties Configuration=Release
nuget pack ..\CNBlogs.Bootstrap\CNBlogs.Bootstrap.csproj -Build -Properties Configuration=Release
nuget pack ..\CNBlogs.Presentation.Web\CNBlogs.Presentation.Web.csproj -Build -Properties Configuration=Release
nuget push *.nupkg -s http://nuget.cnblogs.com 12345trewq

目前我们采用的就是这个方法。

b) 通过图形界面工具NuGetPackageExplorer实现

优点:操作方便

缺点:不能一次处理多个项目,不能自动化

 

 

常见发布问题

NuGet Package Explorer上传时报:failed to process request:'Method Not Allowed'错误解决办法

 相关日志:PUT /api/v2/package - 1000 -  NuGet+Package+Explorer/3.15.0.0+(Microsoft+Windows+NT+6.2.9200.0) - 405 0 0 0

 解决办法Web.config里面加入设置: 

<system.webServer> 

  <modules> 
    <remove name="WebDAVModule" /> 
  </modules> 
  <handlers> 
    <remove name="WebDAV" /> 
  </handlers> 
</system.webServer>

 

相关文章
在阿里云服务器上如何搭建网站,网址怎么建站图文教程详解案例及步骤.
做好一个网站不仅需要我们对站点装修及内容发布,也需要我们学会对网站运营,如进行站长推送,将我们内容快速推送到各大搜索平台,有效的让用户能搜索到我们内容,或者需要在谷歌推广就必须对网站添加SSL证书,这样搜索域名的时候搜索框不会出现<不安全>字符在域名前面,以及运行网站要懂运维,出现BUG时要去及时解决查找原因.自始至终自身要不断学习网络相关知识,遇到问题方能迎刃而解. 本文结束,如还有不懂的同学可联系作者,倾力而为,祝您成功!
245 73
阿里云服务器搭建网站教程:经济型e实例2核2G快速搭建网站图文教程参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽只要68元1年,2核4G4M带宽只要298元1年。云服务器ECS经济型e实例2核2G 3M固定带宽,价格只要99元/1年,新老用户都可购买,企业用户购买2核4G5M带宽199元一年,为用户提供长期权益。这些都是个人和普通企业用户搭建网站使用较多的云服务器,本文为大家展示使用经济型e实例2核2G3M带宽快速搭建网站的相关教程,以供参考。
257 18
2025最新幻兽帕鲁palworld服务器搭建教程:新手0基础,超简单~
阿里云提供2025年最新幻兽帕鲁游戏服务器申请购买及一键开服教程。支持4核16G(70元/月,8人)和8核32G(160元/月,20人)配置,带宽10M,ESSD云盘100GB。玩家只需选择配置、地域、操作系统并设置密码,系统自动部署游戏程序。本地安装STEAM客户端后,输入服务器IP和端口8211即可开始游戏。详细教程及更多问题解答请访问阿里云幻兽帕鲁游戏专区。
237 56
阿里云服务器迁移中心SMC实战指南:跨平台业务迁移教程参考
现在越来越多的个人和企业用户选择将其他云平台或者服务商的业务迁移到阿里云,但是如何快速且安全完成迁移是很多用户比较关注的问题,我们可以选择使用阿里云提供的服务器迁移中心(Server Migration Center,简称SMC),这个产品是阿里云提供给您的迁移平台,专注于提供能力普惠、体验一致、效率至上的迁移服务,满足您在阿里云的迁移需求。本文为大家展示使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云的教程,以供参考。
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
在当今数据驱动的时代,快速部署和管理大模型成为企业的关键需求。阿里云提供了一键部署OpenWebUI+Ollama的便捷方案,支持本地大模型运行和管理。用户也可以选择连接阿里云百炼的在线模型。
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
阿里云幻兽帕鲁联机服务器搭建全攻略,速来抄作业!2025新版教程
阿里云提供2025年最新幻兽帕鲁服务器申请购买及一键开服教程。4核16G配置支持8人,70元/月;8核32G配置支持20人,160元/月。选择配置、地域、操作系统后,点击【一键购买及部署】,约3分钟完成创建。本地安装STEAM客户端并登录,进入游戏选择多人模式,输入服务器IP和端口(8211),即可开始游戏。详细教程及更多问题解答请参考阿里云幻兽帕鲁游戏专区。
98 20
阿里云服务器搭建幻兽帕鲁【Palworld】游戏服详细教程,2025最新附价格表
阿里云提供2025年最新幻兽帕鲁游戏服务器申请与一键开服教程。支持4核16G(8人)和8核32G(20人)两种配置,系统自动部署游戏程序,本地安装STEAM即可开始游戏。价格低至70元/月起,选择地域、时长及操作系统后,2-3分钟完成创建。通过Steam客户端输入服务器IP与端口8211,轻松加入多人游戏,开启冒险之旅!更多详情见阿里云幻兽帕鲁专区。
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
422 79
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
使用阿里云服务器搭建自己的DeepSeek个人站点,3分钟尝鲜教程!
通过阿里云服务器,您可以0成本部署专属的DeepSeek网站。学生用户可领取300元代金券,实现免费部署;普通用户则可以选择99元/年的服务器方案。使用阿里云计算巢“DeepSeek个人站点-快速部署”服务,最快5分钟完成部署,无需编写代码。该服务集成了百炼API和Open WebUI,支持多种AI模型(如DeepSeek、Qwen-max、Llama等),并提供稳定、高性价比的个人专属AI网站体验。详情及教程请参考官方页面。
482 0

热门文章

最新文章