前言
搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显,
1.代码保密
2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用
3.可进行版本任意切换提高代码差异性管理
1.部署nuget 服务器
因为我们的项目使用的是net core ,所以自己直接也是建立的net core项目,但是发现nuget server 不管是nuget server 还是nuget server core 对于net core 2.2 都不支持,故此选用了net mvc进行搭建nuget 服务(ps:如有解决请留言给我)。
1.1.建立一个空项目这个很好解决在这不做过多阐述,如图:
1.2.找到对应版本Nuget.Server
我建的项目是基于.Net Framework 4.6.1 所以选择了3.4.1 版本,根据自己项目的版本选择对应的版本即可。选择之后项目中会自动生成Packages文件夹,修改web.config中 <add key="apiKey" value="npspackages2019" />q其中apikeyy用作上传包的key
1.3.运行项目
那么nuget 服务就算搭好了,部署到iis即可。
2.nuget 打包
在这里我没要用到的就是NuGet Package Explorer这个工具,下载即可。
2.1打开NuGet Package Explorer出现启动界面,选择Create a new package(Ctrl+N)创建一个新包
2.2、选择菜单 Edit > Edit Package Metadata (或者 CTRL + K) 编辑包包信息
这里可以编辑类库包的信息和添加类库、程序集的引用解释下几个比较重要的字段:
Id:用于定位类库包的唯一标示,
Version:类库的版本号,这里建议和程序集的真实版本号保持一致,以免发生混淆
Dependencies:此类库依赖的程序集,根据实际情况添加依赖类库的Id和版本号,若无留空即可,这里需要注意下填写的依赖类库需要在NuGet服务器上能找到,否则无法完成自动引用添加
Framework assemblies:依赖的Framework 程序集,根据实际需要选择即可,一般无需设置
除以上四项以外其他属性根据实际情况修改即可,若自己用不修改也中,不过为了使用方便还是建议把类库描述(Description)填写下
2.3、添加dll
右键-->Add
Existinng File... 选择dll添加,也可以直接拖拽DLL到 Package contents
窗口,此例选择拖拽方式,直接拖拽dll到窗口后,会出现提示:是否将 Winista.HtmlParser.dll放到lib
文件夹下,一般我们选择yes
信息修改和dll都添加完毕后,选择File --> Save(或Ctrl + S)将文件进行保存,默认文件名为Id + 版本号.nupkg
2.5、完成保存后如需要发布到网上,选择File--> Publish...(或Ctrl + P)
如果想要发布到nuget官网,发布 Key需要到官网去注册一个账号获取,方法一致。
3.使用
使用的时候和咱们使用公共的nuget 包一致。
3.1添加包源
3.2选择包源
记得勾选【包含预发行版本】
这样nuget 包管理服务器就算搭好了。在版本中切换自己相应的版本即可。