Megosztás:


Csomagfüggőségek kezelése .NET-alkalmazásokban

Ez a cikk bemutatja, hogyan vehet fel és távolíthat el csomagfüggőségeket a projektfájl szerkesztésével vagy a parancssori felület használatával.

Az <PackageReference> elem

A <PackageReference> projektfájl-elem struktúrája a következő:

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />

Az Include attribútum megadja a projekthez hozzáadni kívánt csomag azonosítóját. Az Version attribútum megadja a lekérendő verziót. A verziók a NuGet-verziószabályok szerint vannak megadva.

Feltételek használata olyan függőség hozzáadásához, amely csak egy adott célban érhető el, ahogyan az alábbi példában látható:

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />

Az előző példában szereplő függőség csak akkor érvényes, ha a buildelés az adott célhoz történik. A $(TargetFramework) feltétel egy MSBuild tulajdonság, amely a projektben van beállítva. A leggyakoribb .NET-alkalmazások esetében ezt nem kell megtennie.

Függőségek hozzáadása és eltávolítása

Függőségeket a projektfájl szerkesztésével vagy .NET CLI-parancsokkal vehet fel és távolíthat el.

A projektfájl szerkesztése

Függőség hozzáadásához adjon hozzá egy <PackageReference> elemet egy elemhez <ItemGroup> . Hozzáadhat egy meglévőt <ItemGroup>, vagy létrehozhat egy újat.

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    ...
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
  </ItemGroup>

</Project>

Egy függőség eltávolításához törölje annak <PackageReference> elemét a projektfájlból.

A parancssori felület (CLI) használata

Függőség hozzáadásához futtassa a dotnet package add parancsot az alábbi példában látható módon. (Ha a .NET 9 vagy korábbi SDK-verzióját használja, használja inkább az dotnet add package űrlapot.)

dotnet package add Microsoft.EntityFrameworkCore

Függőség eltávolításához futtassa a dotnet package remove parancsot az alábbi példában látható módon. (Ha a .NET 9 vagy korábbi SDK-verzióját használja, használja inkább az dotnet remove package űrlapot.)

dotnet package remove Microsoft.EntityFrameworkCore

Tippek

  • Ne adjon meg bemeneteket a visszaállítási művelethez a hivatkozott csomag .targets vagy .props fájljában. Ezek a bemenetek tartalmazhatnak PackageReference elemeket, ExcludeAssets attribútumokat, a használni kívánt NuGet-hírcsatornákat vagy más NuGet-konfigurációkat. A csomagok .targets és .props fájljai csak a NuGet-visszaállítás befejeződése után lesznek használatban. A visszaállításhoz szükséges mindennek a projektfájlban vagy a .targets fájlban kell lennie, nem pedig a csomagfüggőségnek.

  • Ha ASP.NET API-kat szeretne használni egy konzolalkalmazásban vagy osztálytárban, vegyen fel egy FrameworkReference elemet a projektfájlba:

    <FrameworkReference Include="Microsoft.AspNetCore.App" />

    További információ: A ASP.NET Core megosztott keretrendszer használata.

Lásd még