2012-05-17 13 views
34

Używam przywracania pakietów NuGet. Chcę określić niestandardowe źródła podczas procesu budowania serwera TFS.Podaj źródła NuGet dla serwera kompilacji do użycia z pakietem NuGet Restore?

Plik NuGet.targets w ukrytym folderze „.nuget” mówi, że możesz albo podać źródła repozytoriów, lub że będzie spadać z powrotem do NuGet.config w% appdata% \ Nuget \ NuGet.config.

Istnieje jednak NuGet.config w ukrytym folderze „.nuget”, jak również. Zakładałem, że jeśli nie określisz repozytoriów źródeł w NuGet.targets, to powrócą one do NuGet.config w ukrytym folderze ".nuget". Wydaje się, że tak nie jest.

Wszelkie pomysły?

Odpowiedz

6

Według pranavkm, jeden z deweloperów Nuget, w momencie pisania tego tekstu Nuget Pakietu Restore nie użyje NuGet.config w ukrytym folderze „” .nuget źródeł. Jest używany tylko w tej chwili dla ustawienia specyficznego dla rozwiązania (aby zignorować powiązania kontroli kodu źródłowego). Mówi, że zespół NuGet jest na radarze, aby wykorzystać wszystkie aspekty NuGet.config, ale wciąż staje się priorytetem.

+3

FYI, aktualizacja: Hierarchiczne NuGet.configs są obsługiwane od wersji 2.1. Zobacz http://docs.nuget.org/docs/release-notes/nuget-2.1 –

+1

Dla przyszłych wyszukiwarek internetowych, wersja wiersza poleceń "nuget.exe" to "Źródło" https: //www.nuget. org/api/v2 /; http: // myother source/myrepository/" – granadaCoder

18

Jeśli włączysz przywrócić pakiet, znajdziesz plik NuGet.targets MSBuild w $ (SolutionDir) \. Nuget folder.

Można ustawić źródła pakietów, modyfikując element "" </PackageSources > elementu PackageSources.

Przykład:

<!-- 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> 
+4

To wcale nie odpowiadało na pytanie. Już wskazałem, że możesz użyć NuGet.targets do określenia źródeł. Pytanie dotyczyło NuGet.config i tego, czy zostanie ono użyte. –

24

Przy obecnej wersji Nuget to możliwe, aby określić własne repozytoria w pliku NuGet.config roztworze i umożliwić przywrócenie pakiet podczas kompilacji. Mając ten plik NuGet.config pozwoliło nam automatycznie przywracać pakiety z wewnętrznego repozytorium pod TFS budować bez żadnych innych działań w definicji produkcji:

<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> 

Uwaga: TFS2013 domyślnego Proces budowy Szablony już implementuje Nuget Pakiet Restore obieg bez dowolna specjalna konfiguracja, jak tutaj podano: http://docs.nuget.org/docs/reference/package-restore-with-team-build

+0

To jest interesująca definicja" bez specjalnej konfiguracji ". W rzeczywistości implementacja przywracania została udokumentowana poprzez niestandardowy proces kompilacji - nie ma nic wspólnego z szablonem procesu budowania. Nie oznacza to, że którekolwiek z nich odpowiada na pytanie OP. – bornfromanegg

+1

@ user1158174, jeśli spojrzysz na sam początek artykułu na tej stronie, stwierdza: 'Dla Team Foundation Build 2013 on-premises i Visual Studio Online (wcześniej Team Foundation Service), domyślne szablony procesów budowania już implementują pakiet NuGet Przywróć przepływ pracy bez specjalnej konfiguracji.Poniższe informacje odnoszą się tylko do Team Foundation Build 2012 i wcześniejszych, lub do budowania szablonów procesów, które zostały dostosowane i usunięto funkcję NuGet Restore. ", Więc tak, TFS 2013 robi to już w 100% automatycznie (my faktycznie używamy tego w naszym firma). – julealgon

+0

DZIĘKUJEMY TAK DUŻO – Pharylon

Powiązane problemy