2017-09-21 105 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