8

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:

NuGet package contents

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:

  1. 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. :/
  2. Skrypt init.ps1 uruchamia się i wykonuje polecenia tak, jak chcę. :)
  3. 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-. :(
  4. 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)?

Odpowiedz