C# 搭建自己的NuGet服务器,上传自定义NuGet包
第一步搭建NuGet服务器
创建空Web项目
安装Nuget服务,目前最新版本2.8.2
安装完成,会自动生产服务,出现如下界面
发布该网站,并部署至IIS
将.nupkg文件发布至网站的Packages目录。
在VS中修改NuGet引用路径
-
注意把自定NuGet放在首位,这样每次搜索都默认从MyNuGet开始。
以上就成功部署了自己的NuGet服务器了。关于.nupkg文件其实就是程序的安装包压缩文件,它包含了程序包的版本信息,dll及相关的外部依赖,NuGet安装包时会进行自动解压。因此上传至NuGet服务器Packages目录的只需要.nupkg文件。
第二步 如何进行打包
通过图像工具进行打包,下载地址https://npe.codeplex.com/downloads/get/clickOnce/NuGetPackageExplorer.application 并进行安装。
打包操作
打开NuGet Explorer
如何修改之前已经打好的包
修改包只需要删除之前Package contents中的dll引用 重新的添加然后保存即可。
NuGet自动恢复功能
通过命令方式编译项目是如何自动恢复NuGet包?
1、下载Command Line http://docs.nuget.org/docs/start-here/installing-nuget
2、将Command Line.exe文件放置在解决方案.sln同级目录下
3、打开CMD指定到解决方案目录
4、 执行 nuget.exe restore 你的解决方案名.sln 即可自动恢复安装。
NuGet执行的相关步骤:
1.先检查package.config文件从上往下逐一扫描,当Package文件架为发现包则自动从服务器下载安装。
VS2012及后已经集成NuGet相关服务。
相关文档:
NuGet官方文档:http://docs.nuget.org/
总结:
NuGet服务器可以非常方便的管理程序中所使用到的外部引用
通过NuGet自动恢复功能不仅可以清理项目中不需要的外部依赖,极大的方便了项目迁移。
通过项目管理工具SVN/TFS等管理源代码,我们只需要上传源代码而无需上传Packages文件架,客户端获取代码重新编译会自动恢复所依赖的package,极大的增加了 代码获取的速度。
通过自定义NuGet可以维护代码中插件版本一致性,此外可将公共代码打包成NuGet包,提高了代码重用性。