2017-09-21 107 views
3

我有一个解决方案,此解决方案包含一个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 

命令并下载遗失的包,但它并没有安装的软件包。

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

+0

你建立包下载后解? – Webruster

+0

@Webruster是的,我做过。为什么? – Gqqnbig

回答

3

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

恢复包解决方案文件

nuget restore a.sln 

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

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

+0

那我该用哪个命令?做这些工作的网站? – Gqqnbig

+0

@LoveRight你需要打电话给我/,你的包文件夹在'current'或'parent'里? – Webruster