前言

上星期发布了NuGet的使用和服务搭建后,同时NuGet在部门里也使用了起来。经过这些天的使用,总结了些小技巧和注意点,希望和大家分享下。

问题提出

使用了NuGet的朋友们估计都知道,在签入代码到TFS的时候,会把从NuGet下载的程序包包含并签入到TFS,而且每更新了一次程序包,都会重新签入一份新的版本程序包,那么,问题来了,随着时间推移,程序包的版本会越来越多,那么签入到TFS代码库的程序包也会越来越多,而旧版本又不需要了,没必要占着空间。

翻看了很多资料,发现【启用NuGet程序包还原】可以很好的解决问题。

启用NuGet程序包还原

开始我看到这个功能,想了半天也没搞清楚干嘛用的。后来试了一下,发现就是一个自动下载的程序包的功能,可能我这么说得有点含糊。

在解决方案右键,点击【启用NuGet程序包还原】,各种确定后发现解决方案里多了个.nuget文件夹,我们暂且先不理是干嘛的。在此之后,我们安装其他的程序包之后签入,会发现并未包含已安装的程序包,而需要签入的只是几个config文件和项目文件而已。那么将文件签入到TFS,其他人获取最新后只有配置文件变更了,没有拿到程序包难道编译不会失败么?

打开【引用】,发现几个从NuGet安装的组件库的确报黄色感叹号,不用着急,生成一次项目就可以了,可以从下方的生成信息里发现,解决方案缺少的程序包会自动从NuGet上自动下载与Package.config对应的版本。

注意点

用【启用NuGet程序包还原】后,会从已配置好的【程序包源】里下载对应的程序包。

换句话说,假如你在内部NuGet服务下载了程序包并签入了文件,但某个同事可能是新来的,vs的【程序包源】没有添加内部程序包源,就会导致无法自动下载程序包,导致编译报错。

因此,我在部门使用的时候要求各位同时在vs里添加上内部程序包源,包括开发和测试。

另外,在更新程序包的时候,可能因为独占签出文件导致程序包更新失败的,可以在之前更新程序包的时候签出选择保持原有锁,或者在更新失败后,把更新失败组件库删除了,重新安装一次。

新想法

有同事提出,假如每次更新程序包,都得通过【NuGet Package Explorer】上传,然后打开vs里的【管理NuGet程序包】点击更新,那多麻烦~~~

有没有办法可以做到发布或生成的时候就上传程序包,或获取最新的时候自动更新最新的程序包版本。

具我了解可以的!因为这些发布程序包和更新程序包都可以通过写命令行进行操作的,那么再通过写一个vs插件结合发布和获取最新,应该是可以实现的。

如果园子里的朋友有哪位曾经做过,可以分享一下心得。

NuGet的使用心得的更多相关文章

  1. mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

    1.mvc5+ef6+Bootstrap 项目心得--创立之初 2.mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理 3.mvc5+ef6+Bootstrap 项目心得--WebG ...

  2. mvc5+ef6+Bootstrap 项目心得--创立之初

    1.mvc5+ef6+Bootstrap 项目心得--创立之初 2.mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理 3.mvc5+ef6+Bootstrap 项目心得--WebG ...

  3. Nuget的使用

    前言 最近看到园子上有关于NuGet (读音:new get)的使用,所以心血来潮也跟着学习做了一下,觉得很流b哦.于是也就记一下自己的学习心得(并非一味的重复轮子,只是觉得他人做的写的就是对的,自己 ...

  4. 还在用NuGet吗?大哥FuGet了解一下

    前言 你可能不知道是,NuGet已经发布10年了,从 Visual Studio 2010 第一次官方集成NuGet以来,这10年间有聚集了超过 14万 的包,这些包有超过 150万 的版本提供,大约 ...

  5. [转]mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

    本文转自:http://www.cnblogs.com/shootingstar/p/5629668.html 1.mvc5+ef6+Bootstrap 项目心得--创立之初 2.mvc5+ef6+B ...

  6. 如何使用MiniProfiler(附最新版MiniProfiler使用心得)

    MiniProfiler这个工具早就久仰大名,不过之前一直没有动力去用,正好最近手上有个ASP.NET MVC的项目,正好拿来试试手,下面是使用最新的4.0.138版本的心得体会以及踩到一些小坑的解决 ...

  7. Visual Studio容器项目工程化心得

    引言 关注博主的网友会看到我使用ASP.NET Core 容器化部署企业级项目的过程, 回想到开发过程中,鄙人有一些工程化心得, 分享给同学们. 项目工程化 因为本项目涉及单元测试Project.容器 ...

  8. 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何

    基于 Vue.js 之 iView UI 框架非工程化实践记要   像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...

  9. .Net Core 三大Redis客户端对比和使用心得

    前言 稍微复杂一点的互联网项目,技术选型都可能会涉及Redis,.NetCore的生态越发完善,支持.NetCore的Redis客户端越来越多, 下面三款常见的Redis客户端,相信大家平时或多或少用 ...

随机推荐

  1. QT5.4 计算器程序 打包&发布,解决dll的最新解决方案

    QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...

  2. http://www.w3cplus.com/animation/create-animated-text-fills.html

    关于svg的资料: http://www.w3cplus.com/animation/create-animated-text-fills.html asp.net中jquery的ajax调用cs文件 ...

  3. CSS3 calc() 会计算的属性

    calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,你可以使用calc()给元素的border.margin.pading.font-size和width等属性设置动态值. ...

  4. [Leetcode] Validate BST

    给一个Binary Tree,检查是不是Binary Search Tree. 即是否满足对每个节点,左子树的中的所有节点的值 < 当前节点的值 < 右子树所有节点的值. Solution ...

  5. X窗口系统的协议和架构

    转自X窗口系统的协议和架构 在电脑中,X窗口系统(常称作 X11.X)是一种以位图显示的网络透明化窗口系统.本条目详述 X11 的协议及其技术架构. X C/S模型和网络透明性 X 基于C/S模型.运 ...

  6. 移除Ubuntu“下载额外数据不成功”的提示通知

    参考自经过几天的摸索,终于得出安装flashplugin-installer的方法 移除"下载额外数据不成功"的恼人提示通知,方法: $cd /usr/share/package- ...

  7. Being a Hero

    zoj3241:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3241 题意:一个国家的地图是一张n个点m条边的有向图.你保 ...

  8. 移动应用产品开发-android开发(一)

    最近公司希望增添移动开发业务,进行移动互联网开发的调研及产品需求调研. 我主要负责技术解决方案的研究,从android开发开始学习.同时跟经理一起与其他部门同事沟通了解移动开发方面的需求. 在了解an ...

  9. 17.2.1 Replication Implementation Details 复制实现细节:

    17.2 Replication Implementation 复制是基于master server 跟踪所有改变到他的数据库(更新,删除等等)在它的binary log. binary log 作为 ...

  10. 漫谈CSS的渲染效率

    总结了部分所学.所听.所看.所问的一些CSS写作经验,书写高效的CSS - 漫谈CSS的渲染效率,它们与渲染效率及所占用消耗的资源有一定的关 联.部分为自己理解所写,不排除会有错漏,欢迎提供更好的意见 ...