zoukankan      html  css  js  c++  java
  • VS编译时使用/去除NuGet管理库

    原文链接: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="......NugetPackagesgflags.2.1.2.1uild ativegflags.props" Condition="Exists('......NugetPackagesgflags.2.1.2.1uild ativegflags.props')" />
    删除,

    贴错了难过

    把 <Import Project="......NugetPackagesLevelDB-vc120.1.2.0.0uild ativeLevelDB-vc120.targets" Condition="Exists('......NugetPackagesLevelDB-vc120.1.2.0.0uild ativeLevelDB-vc120.targets')" />  
    删除,

    把<Error Condition="!Exists('......NugetPackagesLevelDB-vc120.1.2.0.0uild ativeLevelDB-vc120.targets')" Text="$([System.String]::Format('$(ErrorText)', '......NugetPackagesLevelDB-vc120.1.2.0.0uild ativeLevelDB-vc120.targets'))" />
    删除,

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


  • 相关阅读:
    Hacker's guide to Neural Networks
    Backbone Collection 源码简谈
    Backbone Model 源码简谈 (版本:1.1.0 基础部分完毕)
    Android系统架构概述
    关于 Android 程序员最近的状况
    调查:周末iPhone用户喜欢出去玩 Android喜欢宅家看电影/看书
    调查:周末iPhone用户喜欢出去玩 Android喜欢宅家看电影/看书
    Android进阶必学retrofit源码解析
    Android进阶必学retrofit源码解析
    移动互联网资料图
  • 原文地址:https://www.cnblogs.com/wishchin/p/9199909.html
Copyright © 2011-2022 走看看