NuGet包恢复不会为asp.net网站安装包

时间:2017-09-21 20:51:33

标签: asp.net nuget

我有一个解决方案,此解决方案包含一个asp.net网站(不是应用程序)。

我想启用C#6,所以必须安装nuget包。我在Visual Studio 2015中执行了此操作,它创建了C:\ solution \ website \ packages.config。

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.7" targetFramework="net45" />
  <package id="Microsoft.Net.Compilers" version="2.3.2" targetFramework="net45" developmentDependency="true" />
</packages>

我想遵循不将包二进制文件添加到版本控制系统中的最佳实践,因此我只提交了packages.config。

似乎自动包恢复对网站不起作用,所以我打算编写一个svn更新脚本,每当我运行svn update时,脚本将运行以恢复包,以防其他开发人员运行svn clean删除未版本控制的文件。

在我编写的脚本中

nuget.exe restore C:\solution\Website\ -PackagesDirectory C:\solution\packages

该命令会下载缺少的软件包,但它不会安装软件包。

有谁知道为什么?我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

对于 NuGet 2.7 +:下载并安装packages文件夹中缺少的任何软件包。

恢复解决方案文件的包

nuget restore a.sln

恢复解决方案文件的包,使用MSBuild版本14.0加载解决方案及其项目

nuget restore a.sln -MSBuildVersion 14

恢复项目的packages.config文件的包,其中包含父文件夹

nuget restore proj1\packages.config -PackagesDirectory ..\packages

恢复当前文件夹中解决方案的包,指定包源

nuget restore -source "https://www.nuget.org/api/v2;https://www.myget.org/F/nuget"

more info