标签:类库 web程序 经历 团队 打开 log4net 管理程序 frame 打包
很多团队经历时间的积淀之后,都会有很多的可重用的公共技术组件。大部分的团队都会把这些公共组件生成程序集(dll)后,放到GIT或SVN的一个公共目录里面,以供各个项目中使用。起初在项目很少又或者是公共组件不多的时候,这样看起来也没有多大问题。但是随着团队越来越大,项目的组件增多,所封装的可重用组件越来越多,一些问题就会慢慢暴露出来。这个时候如果还是使用这种方式去管理程序集,显然就不太合适了。
我们知道,在Java中比较常用的包管理工具,如Maven。实际上在很多大公司里面都会搭建自己公司的Maven私服,以管理公司的一些公共技术组件。
实际上在.net中也有,大家也绝对不陌生,就是Nuget,?相信每个人都从官方的nuget服务器上下载过一些第三方组件,如:log4net、quartz.net等等。
Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便。这是维基百科中的定义,实际上Nuget就是一个包管理器,类似于Java的Maven,可以帮助我们更方便的管理dll,这也是微软提供给.net平台的一个正确的包管理工具。
而如Maven一样,Nuget也可以搭建自己的私服。这篇文章就来简单介绍一下如何搭建属于你们团队自己的Nuget服务器。
????从官方Nuget服务器上搜索nuget.server,点击项目url中的github路径。从github中下载nuget.server的源码。
下载并解压后的文件路径如下图所示:
下载NuGet命令行打包工具nuget.exe
下载地址:https://www.nuget.org/downloads
打包我们程序
使用nuget.exe打包程序集
在.csproj文件目录下执行命令spec
nuget.exe spec //spec 在.csproj文件目录下执行命令
此时会生成一个.nuspec文件,打开这个文件
修改其中的xml属性即可(注意此处一些信息最好和AssemblyInfo.cs中的程序集信息一致)
修改完成后继续执行pack命令
这时将生成的.nupkg文件直接copy到nuget服务器IIS目录下的packages文件夹内即可
也可通过命令push推送至nuget服务器
nuget push *.nupkg -s http://127.0.0.1:8005 123456 //push 程序包路径 选项 地址 apikey
//apikey 可以在服务器webconfig中配置
完成后即可查看或使用我们发布的程序集
如果你认为以上就结束了,那你就太天真了,实际上,我们团队在搭建与使用过程中还是遇到了很多问题的,如果搭建使用中踩到了同样的坑可以参考下面几点。
今天简单介绍了如何搭建自己团队的Nuget服务器,以及如何打包并发布程序集到Nuget。实际上,大多数的.net团队仍然是在用SVN或GIT的方式去管理dll,包括我所在的某大厂,虽然后来框架研发部,提供了一个自主研发的管理工具,但我个人感觉还是不如Nuget更好用一些。
如果你的团队不满足现在的程序集管理方式,那么不妨换个姿势,搭建一个属于你们团队自己的Nuget服务器吧!当然,如果你有更好的方式,欢迎与我留言分享!
标签:类库 web程序 经历 团队 打开 log4net 管理程序 frame 打包
原文地址:https://www.cnblogs.com/hunternet/p/12880210.html