使用Automatic Package Restore in Visual Studio
-
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或以上版本。
安装或者升级Nuget
在VS中,调用菜单Tool->Extensions and Updates,在弹出的窗口中选择Online或者Updates菜单项中查询Nuget Package Manager for XXX,进行安装或者升级。如何设置自动下载缺少的包?
调用菜单Tool->Options,在弹出的窗口选择Nuget Package Manager->General项,勾选Allow NuGet to download missing packages和Automatically 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>
参考: