Megosztás a következőn keresztül:


NuGet-csomag létrehozása a .NET parancssori felülettel

Megjegyzés:

Az alábbiakban a Unix használatával használt parancssori mintákat mutatjuk be. Az dotnet pack itt látható parancs ugyanúgy működik a Windowsban.

A .NET Standard és a .NET Core-kódtárak várhatóan NuGet-csomagokként lesznek elosztva. Valójában az összes .NET Standard kódtár elosztása és felhasználása így történik. Ez a legegyszerűbben a dotnet pack paranccsal végezhető el.

Képzelje el, hogy most írt egy fantasztikus új könyvtárat, amelyet el szeretne osztani a NuGet-en keresztül. Létrehozhat egy NuGet-csomagot platformfüggetlen eszközökkel, hogy pontosan ezt tegye! Az alábbi példa egy SuperAwesomeLibrary nevű könyvtárat feltételez, amely netstandard1.0 platformra irányul.

Ha tranzitív függőségei vannak, vagyis egy másik csomagtól függő projekt, a NuGet-csomag létrehozása előtt mindenképpen állítsa vissza a teljes megoldás csomagjait a dotnet restore paranccsal. Ennek elmulasztása azt eredményezi, hogy a dotnet pack parancs nem működik megfelelően.

Nem kell futtatnia dotnet restore, mert az összes olyan parancs implicit módon fut, amely visszaállítást igényel, például dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishés dotnet pack. Az implicit visszaállítás letiltásához használja a --no-restore lehetőséget.

A dotnet restore parancs továbbra is hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildeket az Azure DevOps Services vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.

További információ a NuGet-hírcsatornák kezeléséről: dotnet restore dokumentáció.

A csomagok visszaállításának biztosítása után navigálhat arra a könyvtárra, ahol egy tár található:

cd src/SuperAwesomeLibrary

Ezután csak egy parancs a parancssorból:

dotnet pack

A /bin/Debug mappa így fog kinézni:

$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

Ez létrehoz egy olyan csomagot, amely hibakeresésre képes. Ha kiadási bináris fájlokat tartalmazó NuGet-csomagot szeretne létrehozni, mindössze annyit kell tennie, hogy hozzáadja a --configuration (vagy -c) kapcsolót, és argumentumként használja release .

dotnet pack --configuration release

A /bin mappában mostantól megjelenik egy kiadási mappa, amely tartalmazza a NuGet-csomagot a kibocsátási bináris fájlokkal:

$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

És most már rendelkezik a NuGet-csomag közzétételéhez szükséges fájlokkal!

Ne tévessze össze dotnet pack a dotnet publish

Fontos megjegyezni, hogy semmilyen ponton nem szerepel a dotnet publish parancs. A dotnet publish parancs az alkalmazások ugyanabban a csomagban található összes függőségével rendelkező alkalmazások üzembe helyezésére vonatkozik – nem a NuGet-csomagon keresztül terjesztendő és felhasználandó NuGet-csomag létrehozásához.

Lásd még