博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发博小技巧——如何从项目中剔除第三方组件并在GitHub分享
阅读量:6209 次
发布时间:2019-06-21

本文共 2192 字,大约阅读时间需要 7 分钟。

hot3.png

好了,又到了纯洁的博主的发波时间了。其实发博和奥特曼发射动感光波的原理是一样的,都是抓到一只小怪兽看着不爽K一顿,最后用动感光波发泄一下。今天博主正好在上次发波的时候遇到一只小怪兽,被博主关在房间里面用动感光波发泄了很久,今天也分享给各位我的发波心得,让大家意淫一下。啊不,是意会,意会一下。(呵呵输入法好邪恶)

上一次讲到在.Net中Selenium工程如何创建的问题。当时第一次发博,其实是博主小手一滑不小心点错了,本来准备附上代码一起发布的。但是后来再编辑的时候发现了一个问题,Oschina貌似不提供附件上传啊亲(本人色弱,找到的请大力拍砖!!),再者我的附件都有30+M,第三方库文件占了18M,还有10+M的文件是Git版本库(估计版本库里面包含了压缩过的第三方库),这个大小是哪个开放型网站都无法提供的吧?

现在我们有两个方案可选:

  • 其一,将文件打包后发布到某网盘中。问题在于网盘几乎都有各种限制,并且可靠性不高,有的还要下专门的软件才能下载啊上传啊,何况广告还到处飞,对于一个系统洁癖者来说,还不如割掉博主的GG先。
  • 其二,将文件直接推送到GitHub中,网站托管,并且和Git结合紧密,可以直接推送,可以直接在GitHub查看代码,无广告。

这样看起来,非GitHub莫属啊。博主兴致勃勃地将整个工程直接Push到了自己的GitHub中。耗时十来分钟就不说了,尼玛下载起来也就30+K的速度好不好!!!!!不管你有没有耐心,反正博主是没有了。

这样的做法不行啊亲,难道真的要我装个什么蛋、什么咬咬我的网盘客户端吗?那种东西和快播有什么两样!作为纯洁高尚的博主是绝对不允许这种东西进入硬盘的。

当晚博主在梦中得到真神阿拉的神圣启示,说要是博主这次不用GitHub分享代码明天起来就木有小GG(尼玛这叫什么启示)。

博主一琢磨,不行,说什么也不能做岳不群啊,怎么也要成为司马迁!

有了动力,做起事来就是快,首先博主找到了NuGet,这个工具是一个第三方库的集中管理工具,比如JQuery,NUnit等等库文件,都可以在其中搜索到,并且更新也很方便。

0、安装篇

通过Visual Studio的扩展管理器找到 NuGet,请务必安装2.2的版本,

1、发布篇

先用VS打开工程,然后童鞋们可以通过工具->库程序包管理器->管理解决方案的NuGet程序包启动它:

在如下窗口选择自己需要的程序包。当然,更好的方法是用搜索:

选择好需要的程序包后点击安装,选择你要将此包应用到哪个项目:

确定之后,第三方组件就安装完成了。

这时我们分析一下工程目录(以我的SeleniumInAction为例)大概应该类似于这样。(博主的收藏种子不能让你们发现了,打个码)

其中的packages文件夹就是我们刚刚安装的第三方组件的位置了

这时我们修改.gitignore文件,将其忽略不提交到源代码管理中:

加入    packages/    这么一行

这样,我们就成功的将其从源代码管理中删除了,妥妥的把项目提交到GitHub中分享~~~~

 

童鞋们不会真的以为这样就完了吧?以博主满脑精虫的智慧,是不会就此结束的!!!

很快有朋友反应了,下下来的代码没有库文件,编译失败啊亲!!!

好的,问题还在继续,那么怎么将已经剔除掉的这些个第三方组件还原呢?对于刚刚的项目,我们其实只需要做两步。(注意这里还是在讲发布啊亲

第一、在工具->选项菜单中,找到包管理器->常规选项,确认“允许NuGet在生成期间下载缺少的程序包”

做完这步还没有真正在你的项目中启动这项功能!!我们还需要在解决方案上点右键->启用NuGet程序包还原

现在,你的文件夹应该看起来是这样的(多出来一个.nuget文件夹):

这时直接提交,只会将上图中的Config和targets文件提交。到这里,发布的工作就完成了!

2、还原篇

Git的使用我就不多说了,这里欢迎大家使用我的GitHub来做试验,程序简短,库文件不多:

代码才42.1KB有木有!!!!鸡冻得牛内有木有~~~!!!

目录结构应该如下(呵呵博主就喜欢在项目里面收藏种子有木有,万一提交上去了怎么办,打个码):

可以发现此时是没有packages文件夹的,也就是说暂时没有第三方组件。(nunit.framework应该也是没有的,VS犯2了)

现在开始使用NuGet进行还原!!!!!!

首先在工具->选项菜单中,找到包管理器->常规选项,确认“允许NuGet在生成期间下载缺少的程序包”(只需要做一次就行,选过的就不用再选了,除非你觉得打勾很好玩)

同样我们还需要在解决方案上点右键->启用NuGet程序包还原

然后用VS的编译功能直接重新编译,编译的过程比通常的编译时间会要长一些,这个根据你的网络环境而定。(换句话说就是说一边编译一边在下载第三方组件)

引用的感叹号消失了,编译也成功,我们再看看项目文件夹:

缺失的第三方组件被下载回来了!

 

现在来回忆一下还原步骤:

1、启用  2、编译 

是的,就这么简单!!!现在使用Git订购还将获得博主精心为大家准备的精美种子一份!!前十个订购的我们将赠送快播浏览器永久使用权!还犹豫什么,赶快拿起Git订购吧!

转载于:https://my.oschina.net/kitten63928/blog/114553

你可能感兴趣的文章
TcpDump 抓包 传输数据包
查看>>
利用Rsync服务让SLB下多台centos服务器文件同步更新
查看>>
阳振坤深度解析OceanBase如何支撑支付宝双十一14万/秒笔交易
查看>>
docker 搭建私有仓库及镜像存储目录结构
查看>>
Javascript 函数和变量提升
查看>>
RocketMQ 实战(一) - 简介
查看>>
蚂蚁金服!前端实习生!内推!提前批!
查看>>
十分钟dva入门
查看>>
防止按钮重复点击
查看>>
Android SMSSDK无GUI接口集成方法
查看>>
Let's VUE[1]
查看>>
[-算法篇-] 排序
查看>>
实用贴:hadoop系统下载安装教程
查看>>
Apple正式生产AirPods 官方也将图片删除
查看>>
【云计算的1024种玩法】安装 MariaDB 并通过 DMS 管理
查看>>
Flutter UI APP 低调上线
查看>>
May-周记(2)
查看>>
算法题1、反转字符串中的单词 III
查看>>
10分钟vue-cli2构建项目升级到webpack4配置
查看>>
面试分享:专科半年经验面试阿里前端P6+总结(附面试真题及答案)
查看>>