日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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="..\..\..\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编译时使用/去除NuGet管理库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。