Inhaltsverzeichnis

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:

NuGet paket (.nupkg) sadrži:


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:

<?xml version="1.0"?>
<package>
  <metadata>
    <id>OpenSsl.Native</id>
    <version>3.6.0</version>
    <authors>Vaše Ime</authors>
    <description>OpenSSL 3.6.0 Native Libraries s Post-Quantum podrškom</description>
    <tags>openssl cryptography post-quantum ml-dsa ml-kem</tags>
  </metadata>
  <files>
    <!-- Windows x64 -->
    <file src="win-x64\libcrypto-3-x64.dll" target="runtimes\win-x64\native\" />
    <file src="win-x64\libssl-3-x64.dll" target="runtimes\win-x64\native\" />
 
    <!-- Linux x64 -->
    <file src="linux-x64\libcrypto.so.3" target="runtimes\linux-x64\native\" />
    <file src="linux-x64\libssl.so.3" target="runtimes\linux-x64\native\" />
  </files>
</package>

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


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional