NuGet使用注意事项

时间:2022-10-29 19:37:41

使用Automatic Package Restore in Visual Studio

  1. Package Restore指项目中在缺少引用包时,可以从软件包服务器上重新下载。Nuget中Package Restore包括三种方式:
    • Automatic Package Restore in Visual Studio
    • Command-Line Package Restore
    • MSBuild-Integrated Package Restore
      推荐使用Automatic Package Restore in Visual Studio,Nuget官方文档列举了几项优点,最主要的一项是这种方式让开发者最少关注到Nuget包管理的存在,使开发者在Nuget的使用上花费最少的精力。
      Automatic Package Restore in Visual Studio方式从Nuget2.7开始引入,所以需要在VS开发环境中安装或者升级到Nuget2.7或以上版本。
  2. 安装或者升级Nuget
    在VS中,调用菜单Tool->Extensions and Updates,在弹出的窗口中选择Online或者Updates菜单项中查询Nuget Package Manager for XXX,进行安装或者升级。

  3. 如何设置自动下载缺少的包?
    调用菜单Tool->Options,在弹出的窗口选择Nuget Package Manager->General项,勾选Allow NuGet to download missing packagesAutomatically check for missing packages during build in Visual Studio,VS就会自动下载缺少的包。Nuget2.7安装后,其默认是勾选的。


设置packages的路径

Nuget上安装的包,默认是安装在$(Solutiondir)\packages目录下。但是有时项目中会包含多个Solution文件,而且不再同一个文件夹。这时,就需要修改packages的路径为同一目录。否则,有些包会重复下载,而且如果对于在多个Solution公用的Project,很用出现找不到dll的错误。

设置packages的路径需要创建一个Nuget.Config文件,并添加到Solution中。其实,存在一个默认的Nuget.Config,位于 %APPDATA%\NuGet\NuGet.Config (DOS)$ENV:APPDATA\NuGet\NuGet.Config (PowerShell).
Nuget.config的内容如下

<configuration>
  <config>
    <add key="repositoryPath" value="C:\myteam\teampackages" />
  </config>
  ... 
</configuration>

参考: