Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: tworzenie pakietów • Obsługiwane wersje: 2.7+
Tworzy pakiet NuGet na podstawie określonego pliku nuspec lub projektu. Polecenie dotnet pack (zobacz dotnet Commands) i msbuild -t:pack (zobacz obiekty docelowe MSBuild) może być używane jako alternatywne.
Ważne
Użyj polecenia dotnet pack lub msbuild -t:pack w przypadku projektów opartych na elemencie PackageReference . Począwszy od pakietu NuGet w wersji 6.5 lub nowszej, polecenie pakietu spowoduje błąd podczas próby spakowania tych typów projektów. Wcześniejsze wersje podejmą próbę spakowania, ale wygenerowany pakiet może nie być poprawny.
W obszarze Mono tworzenie pakietu z pliku projektu nie jest obsługiwane. Należy również dostosować ścieżki inne niż lokalne w .nuspec pliku do ścieżek w stylu unix, ponieważ nuget.exe nie konwertuje samych nazw ścieżek systemu Windows.
Użycie
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
gdzie <nuspecPath> i <projectPath> określ .nuspec odpowiednio plik lub projektu.
Opcje
-BasePathUstawia ścieżkę podstawową plików zdefiniowanych w pliku nuspec .
-BuildOkreśla, że projekt powinien zostać skompilowany przed utworzeniem pakietu.
-ConfigFilePlik konfiguracji NuGet do zastosowania. Jeśli nie zostanie określony,
%AppData%\NuGet\NuGet.Config(Windows) lub~/.config/NuGet/NuGet.Config~/.nuget/NuGet/NuGet.Config(Mac/Linux) zostanie użyty.-ExcludeOkreśla co najmniej jeden wzorzec wieloznaczny do wykluczenia podczas tworzenia pakietu. Aby określić więcej niż jeden wzorzec, powtórz flagę -Exclude. Zobacz poniższe przykłady.
-ExcludeEmptyDirectoriesZapobiega dołączaniu pustych katalogów podczas kompilowania pakietu.
-ForceEnglishOutput(3,5+) Wymusza nuget.exe uruchamiania przy użyciu niezmiennej kultury opartej na języku angielskim.
-?|-helpWyświetla informacje pomocy dotyczące polecenia .
-IncludeReferencedProjectsWskazuje, że utworzony pakiet powinien zawierać odwołania do projektów jako zależności lub jako część pakietu. Jeśli przywoływany projekt ma odpowiedni
.nuspecplik o takiej samej nazwie jak projekt, ten przywoływany projekt zostanie dodany jako zależność. W przeciwnym razie w ramach pakietu zostanie dodany przywoływany projekt.-InstallPackageToOutputPathOkreśl, czy polecenie powinno przygotować katalog wyjściowy pakietu do obsługi udziału jako źródła danych.
-MinClientVersionUstaw atrybut minClientVersion dla utworzonego pakietu. Ta wartość zastąpi wartość istniejącego atrybutu minClientVersion (jeśli istnieje) w
.nuspecpliku.-MSBuildPath(4.0+) Określa ścieżkę msBuild do użycia z poleceniem, pierwszeństwo przed
-MSBuildVersion.-MSBuildVersion(3.2+) Określa wersję programu MSBuild, która ma być używana z tym poleceniem. Obsługiwane wartości to 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Domyślnie program MSBuild w ścieżce jest wybierany, w przeciwnym razie domyślnie jest to najwyższa zainstalowana wersja programu MSBuild.
-NoDefaultExcludesZapobiega domyślnemu wykluczeniu plików pakietów NuGet i plików i folderów rozpoczynających się od kropki, takiej jak
.svni.gitignore.-NonInteractivePomija monity dotyczące danych wejściowych lub potwierdzanych przez użytkownika.
-NoPackageAnalysisOkreśla, że pakiet nie powinien uruchamiać analizy pakietów po utworzeniu pakietu.
-OutputDirectoryOkreśla folder, w którym jest przechowywany utworzony pakiet. Jeśli nie określono żadnego folderu, używany jest bieżący folder.
-OutputFileNamesWithoutVersionOkreśl, czy polecenie powinno przygotować nazwę wyjściową pakietu bez wersji.
-PackagesDirectoryOkreśla folder packages.
-p|-PropertiesPowinien pojawić się ostatnio w wierszu polecenia po innych opcjach. Określa listę właściwości, które zastępują wartości w pliku projektu; Zobacz Typowe właściwości projektu MSBuild dla nazw właściwości. Argument Właściwości jest tutaj listą par token=value rozdzielonych średnikami, gdzie każde wystąpienie
$token$pliku.nuspeczostanie zastąpione daną wartością. Wartości mogą być ciągami w cudzysłowie. Należy pamiętać, że dla właściwości "Konfiguracja" wartość domyślna to "Debugowanie". Aby zmienić konfigurację wydania, użyj polecenia-Properties Configuration=Release. Ogólnie rzecz biorąc, właściwości powinny być takie same, które były używane podczas odpowiedniej kompilacji projektu, aby uniknąć potencjalnie dziwnego zachowania.-SolutionDirectoryOkreśla katalog rozwiązania.
-Suffix(3.4.4+) Dołącza sufiks do wewnętrznie wygenerowanego numeru wersji, zwykle używany do dołączania kompilacji lub innych identyfikatorów wersji wstępnej. Na przykład użycie metody
-suffix nightlyspowoduje utworzenie pakietu z numerem wersji, na przykład1.2.3-nightly. Sufiksy muszą zaczynać się literą, aby uniknąć ostrzeżeń, błędów i potencjalnych niezgodności z różnymi wersjami pakietów NuGet i nuGet Menedżer pakietów.-SymbolPackageFormatPodczas tworzenia pakietu symboli można wybrać format
snupkgisymbols.nupkg.-SymbolsOkreśla, że pakiet zawiera źródła i symbole. W przypadku użycia z plikiem spowoduje to utworzenie zwykłego
.nuspecpliku pakietu NuGet i odpowiedniego pakietu symboli. Domyślnie tworzy starszy pakiet symboli. Nowy zalecany format pakietów symboli to .snupkg. Zobacz Tworzenie pakietów symboli (.snupkg).-ToolOkreśla, że pliki wyjściowe projektu powinny zostać umieszczone w
toolsfolderze w pakiecie.-Verbosity [normal|quiet|detailed]Określa ilość szczegółów wyświetlanych w danych wyjściowych:
normal(wartość domyślna),quietlubdetailed.-VersionZastępuje numer wersji z
.nuspecpliku.
Zobacz też Zmienne środowiskowe
Wykluczanie zależności programistycznych
Niektóre pakiety NuGet są przydatne jako zależności programistyczne, które ułatwiają tworzenie własnej biblioteki, ale nie muszą być potrzebne jako rzeczywiste zależności pakietów.
Polecenie pack zignoruje package wpisy, które packages.config mają developmentDependency atrybut ustawiony na true. Te wpisy nie będą uwzględniane jako zależności w utworzonym pakiecie.
Rozważmy na przykład następujący packages.config plik w projekcie źródłowym:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.5.2" />
<package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
<package id="microsoft-web-helpers" version="1.15" />
</packages>
W przypadku tego projektu pakiet utworzony przez nuget pack program będzie miał zależność od jQuery elementu , microsoft-web-helpers ale nie netfx-Guard.
Pomijanie ostrzeżeń dotyczących pakietów
Chociaż zaleca się rozwiązanie wszystkich ostrzeżeń nuGet podczas operacji pakietu, w niektórych sytuacjach pomijanie ich jest uzasadnione.
Można to osiągnąć w następujący sposób:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Przykłady
nuget pack
nuget pack foo.nuspec
nuget pack foo.csproj
nuget pack foo.csproj -Properties Configuration=Release
nuget pack foo.csproj -Build -Symbols -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.csproj, using MSBuild version 12 to build the project
nuget pack foo.csproj -Build -Symbols -MSBuildVersion 12 -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.nuspec and the corresponding symbol package using the new recommended format .snupkg
nuget pack foo.nuspec -Symbols -SymbolPackageFormat snupkg
nuget pack foo.nuspec -Version 2.1.0
nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5
nuget pack Package.nuspec -exclude "*.exe" -exclude "*.bat"
Uwaga
Polecenie pack dla projektów w stylu zestawu SDK nie jest obsługiwane, zamiast tego należy użyć dotnet pack polecenia lub msbuild -t:pack spakować te projekty.