wake-up-neo.com

NuGet-Quellen für Build-Server angeben, die mit NuGet Package Restore verwendet werden sollen?

Ich verwende NuGet Package Restore. Ich möchte während eines TFS-Build-Serverprozesses benutzerdefinierte Quellen angeben.

Die NuGet.targets-Datei im versteckten '.nuget'-Ordner besagt, dass Sie entweder Quell-Repositorys angeben können oder dass sie auf die NuGet.config in% APPDATA%\NuGet\NuGet.config zurückgreift. 

Es gibt jedoch auch eine NuGet.config im versteckten '.nuget'-Ordner. Ich nahm an, dass, wenn Sie in NuGet.targets keine Quellen-Repositorys angegeben hätten, diese auf NuGet.config im versteckten '.nuget'-Ordner zurückgreifen würde. Dies scheint nicht der Fall zu sein. 

Irgendwelche Ideen?

35
Ben Lakey

Laut Pranavkm, einem der NuGet-Entwickler, verwendet NuGet Package Restore zum Zeitpunkt dieses Schreibens nicht die NuGet.config im ausgeblendeten '.nuget'-Ordner für Quellen. Sie wird momentan nur für eine lösungsspezifische Einstellung verwendet (um Quellcodeverwaltungsbindungen zu ignorieren). Er sagt, dass das NuGet-Team auf dem Radar ist, um alle Aspekte von NuGet.config zu nutzen, aber es wird immer wichtiger. 

6
Ben Lakey

Mit der aktuellen Version von NuGet ist es möglich, benutzerdefinierte Repositorys in der NuGet.config-Datei der Lösung anzugeben und die Paketwiederherstellung während eines Builds zu aktivieren. Mit dieser NuGet.config-Datei konnten wir Pakete im Rahmen eines TFS-Builds automatisch aus dem internen Repository wiederherstellen, ohne dass weitere Aktionen in der Build-Definition erforderlich waren:

<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>

  <packageSources>
    <add key="Internal" value="http://MyInternalRepository/nuget" />
  </packageSources>

  <packageRestore>
    <add key="enabled" value="True" />
  </packageRestore>

</configuration>

Hinweis: TFS2013s Standardvorlagen für Build-Prozesse implementieren bereits den NuGet Package Restore-Workflow ohne spezielle Konfiguration, wie hier angegeben: http://docs.nuget.org/docs/reference/package-restore-with-team-build =

31
Velimir

Wenn Sie die Paketwiederherstellung aktivieren, finden Sie im Ordner $ (SolutionDir)\.nuget eine MSBuild-Datei NuGet.targets.

Sie können die Paketquellen festlegen, indem Sie das Element <PackageSources> "" </ PackageSources> ändern.

Beispiel:

<!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
<PackageSources>"http://packages.nuget.org/api/v2/;http://myget.org/F/myfeed/"</PackageSources>
18
Xavier Decoster

Eine weitere Option ist das Hinzufügen von Quellen zu einer maschinenweiten (nicht benutzerspezifischen) Nuget-Konfiguration auf dem Build-Server.

https://stackoverflow.com/a/27569020/374837

3
Jeff Shepler

in tfs build 2017, wenn Sie die NuGet Restore-Task-Version 1 verwenden. * Sie können die NuGet.Config-Datei auswählen, die während des Builds verwendet werden soll .. _. Siehe Abbildung unten NuGet Restore-Task

0
Fabian Hänggi