Chcę utworzyć i rozpowszechniać pakiet NuGet, który po zainstalowaniu instaluje tylko cały system w katalogu głównym packages
, odwołując się do pakietu w pliku .NuGet\packages.config
.Jak utworzyć pakiet NuGet na poziomie czystego rozwiązania
znalazłem pewne informacje na temat formatu pakietu Nuget już w odniesieniu do tego tematu i zgodnie NuGet FAQ powinno to być możliwe, jeśli jeden postępuj według poniższych wskazówek:
Jaka jest różnica między projektu- pakiet poziomu i pakiet na poziomie rozwiązania?
Pakiet rozwiązania na poziomie musi być zainstalowany tylko raz w rozwiązaniu , aby był dostępny dla wszystkich projektów w rozwiązaniu. Pakiet na poziomie projektu na poziomie musi być zainstalowany osobno w każdym projekcie, z którego chcesz go używać. W przypadku pakietów na poziomie rozwiązania, NuGet nie zmienia niczego w projekcie , podczas gdy w pakiecie na poziomie projektu robi to. Zwykle pakiet poziomu rozwiązań instaluje nowe polecenia, które można wywołać z poziomu w oknie Konsola menedżera pakietów.
Kolejny Suggested SO solution stwierdza, że powyższe informacje również powinny zadziałać.
Rzecz polega na tym, że nie mogę tego uruchomić. I sprawdzeniu, że mój pakiet nie ma lib lub zawartości katalogów:
Włożyłem wszystkie pliki do dystrybucji w tools
-folder w pakiecie, w tym init.ps1` skryptu top prowadzonym na zainstalowanie .
Używam Visual Studio 2015 i gdy chcę zainstalować pakiet:
- I przede wszystkim trzeba wybrać projekt, aby zainstalować. Spodziewałem się, że nie będę musiał tego określać, ponieważ ma to być rozwiązanie w całym zakresie.
:/
- Skrypt
init.ps1
uruchamia się i wykonuje polecenia tak, jak chcę.:)
- Jednak w projekcie został utworzony folder
packages
, który musiałem wybrać, aby zakończyć instalację. Spodziewałem się, że w głównym katalogu rozwiązania zostanie utworzony folder-.:(
- Ponadto plik
packages.config
jest tworzony w folderze projektu, a nie w.NuGet\packages.config
, jak można się spodziewać po przeczytaniu dokumentów, które znalazłem na ten temat.:(
Wszelkie sugestie, jak to działa? Czy jest to ograniczenie VS 2015 lub zmiana NuGet 3 (ponieważ uważam, że był zawarty w VS2015)?