前言
搭建 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 中 <addkey="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 包管理服务器就算搭好了. 在版本中切换自己相应的版本即可.
来源: https://www.cnblogs.com/kmonkeywyl/p/11388470.html