2016-09-12 181 views
1

我把packages.confignuget.config到我的根文件夾。在TFS的Nuget恢復恢復包到不同的目錄

當我運行的NuGet我的開發機器上恢復,包被恢復成根/包文件夾中nuget.config描述。

但是,當我添加Nuget Installer構建步驟到我的TFS2015構建定義時,程序包將恢復到../Nuget/Packages,它位於根文件夾之外。然後在下一個構建步驟中引用已恢復的nuget軟件包時遇到問題。

  1. 爲什麼在構建服務器上nuget restore的行爲有所不同?
  2. 如何解決?

enter image description here

nuget.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <config> 
    <add key="repositoryPath" value="Packages" /> 
    </config> 
    <packageRestore> 
    <add key="enabled" value="True" /> 
    <add key="automatic" value="True" /> 
    </packageRestore> 
    <packageSourceCredentials /> 
</configuration> 

日誌從恢復的NuGet構建步驟:

Set workingFolder to default: C:\Builds\Agent\tasks\NuGetInstaller\0.1.18 
Executing the powershell script: C:\Builds\Agent\tasks\NuGetInstaller\0.1.18\NuGetInstaller.ps1 
Saving to C:\Windows\Agent\_work\2\NuGet\newNuGet.config 
C:\Builds\Agent\agent\worker\tools\NuGet.exe restore "C:\Windows\Agent\_work\2\s\packages.config" -NonInteractive -configfile "C:\Windows\Agent\_work\2\NuGet\newNuGet.config" 
MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'. 
All packages listed in packages.config are already installed. 

回答

0

有關的NuGet安裝步驟 「路徑解決方案」 的參數,你需要提供解決方案文件的路徑。

如果您沒有解決方案並希望將頁面恢復到路徑「C:\ Windows \ Agent_work \ 2 \ s」。在Nuget.config文件中,更改repositoryPath如下:

<config> 
    <add key="repositoryPath" value="../s/Packages" /> 
</config> 

但是在您的本地環境中,您需要更改回value =「Packages」。

1

您可以覆蓋從命令行包目錄爲好,這可能會更容易,因爲你可以在值在構建使用預先定義的變量傳遞:

Nuget Arguments: -PackagesDirectory "$(Build.SourcesDirectory)\Packages"