2016-09-12 4 views
1

Я разместил packages.config и nuget.config в мою корневую папку.Восстановление Nuget в TFS восстанавливает пакеты в другой каталог

Когда я бегу NuGet восстановить на моем Dev машины, пакеты восстанавливается в корень/пакеты папку, как описано в nuget.config.

Однако, когда я добавляю шаг сборки Nuget Installer к моему определению сборки TFS2015, пакеты восстанавливаются в ./Nuget/Packages, который находится за пределами моей корневой папки. После этого у меня возникла проблема со ссылкой на восстановленные пакеты nuget.

  1. Почему восстановление nuget ведет себя по-другому на сервере сборки?
  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 Installer, вы необходимо указать путь к файлу решения.

Если у вас нет решения и вы хотите восстановить страницу на путь «C: \ Windows \ Agent_work \ 2 \ s». В файле Nuget.config измените repositoryPath как:

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

Но в местной среде, вам нужно изменить на значение = «пакеты».

1

Вы можете переопределить каталог пакетов из командной строки, а также, что, вероятно, будет проще, так как вы можете передать значения, используя предопределенные переменные в сборке:

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