====== 5.2 NuGet Osnove ====== Ova stranica objašnjava što je NuGet i kako stvarati pakete za nativne biblioteke. ---- ===== Što je NuGet? ===== **NuGet** je upravitelj paketa za .NET - usporediv s: * npm za JavaScript * pip za Python * Maven za Javu NuGet paket (''.nupkg'') sadrži: * Kompilirane DLL datoteke * Metapodatke (ime, verzija, autor) * Nativne biblioteke (opcionalno) ---- ===== Zašto NuGet Paket? ===== | Bez NuGet-a | S NuGet-om | |-------------|------------| | Ručno kopiranje DLL-ova | ''dotnet add package ...'' | | Ručno upravljanje verzijama | Automatska ažuriranja | | Svaki projekt zasebno | Centralni repozitorij | ---- ===== Struktura Paketa za Nativne Biblioteke ===== NuGet podržava nativne DLL-ove putem ''runtimes/'': MojPaket.1.0.0.nupkg/ ├── lib/ │ └── net8.0/ │ └── MojPaket.dll # .NET Wrapper ├── runtimes/ │ ├── win-x64/ │ │ └── native/ │ │ ├── libcrypto-3-x64.dll │ │ └── libssl-3-x64.dll │ └── linux-x64/ │ └── native/ │ ├── libcrypto.so.3 │ └── libssl.so.3 └── MojPaket.nuspec ---- ===== Jednostavan .nuspec Primjer ===== Stvorite datoteku ''OpenSsl.Native.nuspec'': OpenSsl.Native 3.6.0 Vaše Ime OpenSSL 3.6.0 Native Libraries s Post-Quantum podrškom openssl cryptography post-quantum ml-dsa ml-kem ---- ===== Stvaranje Paketa ===== cd nuget-package # Instalirajte NuGet CLI (ako nije prisutan) winget install Microsoft.NuGet # Stvorite paket nuget pack OpenSsl.Native.nuspec # Rezultat: OpenSsl.Native.3.6.0.nupkg ---- ===== Nastavite na ===== * [[.:verteilung:start|6. Distribucija]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//