VS编译时使用/去除NuGet管理库

转载 2017年09月25日 10:46:46

原文链接:VS编译时自动下载NuGet管理的库

之前一直使用NuGet来管理一些第三方的库,但是每次check in代码时候为了保证编译通过,都需要把对应的packages check in。

比较耗费时间,特别是往github上同步代码,而且这些库在NuGet上都有的,是没有必要check in上去的。

应广大的同胞的要求,NuGet在2.0版本开始支持在编译的时候自动同步对应的packages。不过在2.0-2.6版本,默认是没有勾选自动下载的,2.7之后默认是勾选的。

一、设置自动下载

二、设置启用NuGet restore功能

在solution上右键

最后效果如下:

设置完成后,每当编译工程的时候,Build Task都会检查工程里的packages.config文件里的库是否在packages文件夹下,如果没有则会自动下载并解压到packages文件夹下。

在下载过程中,NuGet都会检查对应的版本,不会自动升级的。


二、关闭自动下载

同样,在相应的设置界面关闭即可。

若只是想使用本地的一些软件包,而不是网络版本,打开工程的package.config文件,删除掉特定的行即可。


三。关闭工程中使用特定包

这次使用记事本打开工程的vcxproj文件,注销掉与包有关的网络方案,替换为本地包。

比如:

把<Import Project="..\..\..\NugetPackages\gflags.2.1.2.1\build\native\gflags.props" Condition="Exists('..\..\..\NugetPackages\gflags.2.1.2.1\build\native\gflags.props')" />
删除,

贴错了难过

把 <Import Project="..\..\..\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\LevelDB-vc120.targets" Condition="Exists('..\..\..\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\LevelDB-vc120.targets')" />  
删除,

把<Error Condition="!Exists('..\..\..\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\LevelDB-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\LevelDB-vc120.targets'))" />
删除,

即可去除到所有使用Nuget的包含,然后替换为本地包。


【VS开发】visual studio 2015的NuGet Manager解决方案管理功能

NuGet的官方说明是:NuGet是一款Visual Studio的扩展,它可以简单的安装、升级开源库和工具。 官网地址:http://www.nuget.org/ 官网最醒目的位置就是下...

Asp.net MVC5删除 nuget 包命令 整理

---移除JQuery.* 和bootstartp Uninstall-Package bootstrap Uninstall-Package Microsoft.jQuery.Unobtrusiv...

【VS开发】使用 NuGet 管理项目库

NuGet 使用 NuGet 管理项目库 Phil Haack   无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库。 虽然 Microsof...

手把手教你----使用Nuget管理自己的项目库

什么是NuGet 为什么用NuGet 怎么使用NuGet STEP1 在NuGet官网上注册并获取API Key STEP2 下载NuGetexe STEP3 设置API Key SETP4 ...

.NET 使用 NuGet 管理项目库

NuGet使用 NuGet 管理项目库Phil Haack 无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库。 虽然 Microsoft 在全球的员工人数接近 90,000,但全...
  • sleks
  • sleks
  • 2014年11月30日 08:32
  • 2015

使用 NuGet 管理项目库

使用 NuGet 管理项目库 Phil Haack  本文转载自:http://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx ...
  • ren8179
  • ren8179
  • 2013年08月09日 11:39
  • 667

使用 NuGet 管理项目库

使用 NuGet 管理项目库 Phil Haack(转载自http://msdn.microsoft.com/zhcn/magazine/hh547106.aspx)   无论多么努力,Micr...

使用 NuGet 管理项目库

无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库。 虽然 Microsoft 在全球的员工人数接近 90,000,但全球的开发人员数以百万计。 指望 Microsoft 满足...

使用 NuGet 管理项目库

无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库。 虽然 Microsoft 在全球的员工人数接近 90,000,但全球的开发人员数以百万计。 指望 Microsoft 满足...
  • ssharet
  • ssharet
  • 2016年05月03日 23:42
  • 201

使用 NuGet 管理项目库

NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS编译时使用/去除NuGet管理库
举报原因:
原因补充:

(最多只允许输入30个字)