搭建 nuget 私服

基于 nuget.server 3.1.2 :https://www.nuget.org/packages/NuGet.Server

分享搭建过程中的一些注意事项。

创建一个web空项目用于承载nuget.server

fb069e12-b9cd-48bb-8fde-8120400d59eb.png

0875931f-8230-4761-af04-bc888d4f4bfd.png

  • 注意:项目命名的时候,可以命名成 “NugetServer” ,但不要命名成 “Nuget.Server” ,会导致应用在查找 Nuget.Server.dll ,找不到对应的版本(即这么干了,则最终生成的 Nuget.server.dll 是创建的web项目所对应的dll,而非 Nuget.Server 自身的)
  • 当然也不要命名成可能跟其他nuget相关的依赖库同名的名字(包括其他系统dll)

安装:nuget.server

1f7e21d4-de94-491e-959b-e2cfdaf7c6e7.png

  • 安装的 nuget.server 会自动更改 web.config

调整 web.config

<system.web>
  <httpRuntime targetFramework="4.6" maxRequestLength="30720" />
  <compilation debug="true" targetFramework="4.6.2" />
  <!-- maxRequestLength is specified in Kb -->
  <httpRuntime targetFramework="4.6.2" maxRequestLength="30720" />
</system.web>
  • 在 web.config中删除重复项:本次demo在操作的时候冲突项只有 httpRuntime这个项,删除较早版本,保留较新版本的配置项即可(这里保留 4.6.2 )

web.config部分配置项说明:

appsettings:

<!--是否启用apikey:-->
<add key="requireApiKey" value="true" />
<add key="apiKey" value="40bf22ac8e42" /> <!--在上传和删除packages的时候需要该:apiKey-->

<!--指定上传的包的保存路径:-->
<add key="packagesPath" value="~/NugetPackages" /> <!--可以是相对路径也可以是绝对路径,这里用项目所在目录的相对路径。-->

发布web:

之后就可直接打包项目发布到 IIS 中,相关 IIS 配置之后即可运行,如:

96bd3ace-84a4-47c6-88a8-28bffb92ce7a.png