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

Ez a cikk bemutatja, hogyan vehet fel és távolíthat el csomag-, projekt- és szerelvényfüggőségeket.

Csomagfü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 parancssori felület (CLI) használata

Függőség hozzáadásához futtassa az dotnet package SDK-verzió parancsát:

dotnet package add Microsoft.EntityFrameworkCore

Függőség eltávolításához futtassa az dotnet package SDK-verzió parancsát:

dotnet package remove Microsoft.EntityFrameworkCore

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>

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.

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

Az elemről PackageReference további információt az MSBuild .NET SDK-projektekre vonatkozó hivatkozásában talál.

Projekthivatkozások hozzáadása és eltávolítása

Akkor használjon projektről projektre mutató hivatkozást, ha a projekt egy másik projekttől függ. Projekthivatkozások hozzáadásához és eltávolításához szerkessze a projektfájlt, vagy használja a parancssori felületet.

A parancssori felület (CLI) használata

Projekthivatkozás hozzáadásához futtassa az dotnet reference SDK-verzió parancsát.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Projekthivatkozás eltávolításához futtassa a következő parancsot az SDK-verzióhoz:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

A projektfájl szerkesztése

A <ProjectReference> projektfájl-elem azonosítja a hivatkozott projekt elérési útját. Projekthivatkozás hozzáadásához vegyen fel egy <ProjectReference> elemet egy <ItemGroup> elembe. Hozzáadhat egy meglévőt <ItemGroup>, vagy létrehozhat egy újat.

<ItemGroup>
  <ProjectReference Include="../MyLibrary/MyLibrary.csproj" />
</ItemGroup>

Projekthivatkozás eltávolításához távolítsa el az <ProjectReference> elemet a projektfájlból.

Az ProjectReference elemről további információt a Gyakori MSBuild-projektelemek című témakörben talál.

Szerelvényhivatkozások hozzáadása és eltávolítása

A projektfájlon keresztül szerelvényhivatkozásokat vehet fel és távolíthat el. A .NET parancssori felület nem biztosít parancsokat szerelvényhivatkozások hozzáadásához vagy eltávolításához.

Ha olyan .NET szerelvényre szeretne hivatkozni, amely nem része projektnek vagy csomagnak, adjon hozzá egy <Reference> elemet a projektfájlhoz. <HintPath> Az elem használatával adja meg a szerelvény relatív vagy abszolút elérési útját:

<ItemGroup>
  <Reference Include="MyAssembly">
    <HintPath>lib/MyAssembly.dll</HintPath>
  </Reference>
</ItemGroup>

Szerelvényhivatkozás eltávolításához távolítsa el annak elemét <Reference> a projektfájlból.

Az Reference elemmel kapcsolatos további információkért lásd a Gyakori MSBuild-projektelemek című témakört.

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