Hantera beroenden i .NET program

Den här artikeln beskriver hur du lägger till och tar bort paket-, projekt- och sammansättningsberoenden.

Lägga till och ta bort paketberoenden

Du kan lägga till och ta bort beroenden genom att redigera projektfilen eller via .NET CLI-kommandon .

Använda CLI

Om du vill lägga till ett beroende, kör du kommandot dotnet package för din SDK-version:

dotnet package add Microsoft.EntityFrameworkCore

Om du vill ta bort ett beroende kör dotnet package du kommandot för din SDK-version:

dotnet package remove Microsoft.EntityFrameworkCore

Redigera projektfilen

Lägg till ett beroende genom att lägga till ett <PackageReference> objekt i ett <ItemGroup> element. Du kan lägga till i en befintlig <ItemGroup> eller skapa en ny.

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

  <PropertyGroup>
    ...
  </PropertyGroup>

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

</Project>

Attributet Include anger ID för paketet som ska läggas till i projektet. Attributet Version anger vilken version som ska hämtas. Versioner anges enligt NuGet-versionsregler.

Använd villkor för att lägga till ett beroende som endast är tillgängligt i ett specifikt mål, enligt följande exempel:

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

Beroendet i föregående exempel är endast giltigt om bygget sker för det angivna målet. $(TargetFramework) i villkoret är en MSBuild-parameter som anges i projektet. För de vanligaste .NET-programmen behöver du inte göra detta.

Ta bort ett beroende genom att ta bort objektet <PackageReference> från projektfilen.

Mer information om objektet finns i PackageReferenceMSBuild-referensen för .NET SDK-projekt.

Lägga till och ta bort projektreferenser

Använd en projekt-till-projekt-referens när projektet är beroende av ett annat projekt. Om du vill lägga till och ta bort projektreferenser kan du antingen redigera projektfilen eller använda CLI.

Använda CLI

Om du vill lägga till en projektreferens kör dotnet reference du kommandot för din SDK-version.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Om du vill ta bort en projektreferens kör du följande kommando för din SDK-version:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Redigera projektfilen

Projektfilelementet <ProjectReference> identifierar sökvägen till det refererade projektet. Lägg till en projektreferens genom att lägga till ett <ProjectReference> objekt i ett <ItemGroup> element. Du kan lägga till i en befintlig <ItemGroup> eller skapa en ny.

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

Om du vill ta bort en projektreferens tar du bort elementet <ProjectReference> från projektfilen.

Mer information om objektet finns i ProjectReferenceVanliga MSBuild-projektobjekt.

Lägga till och ta bort sammansättningsreferenser

Du kan lägga till och ta bort sammansättningsreferenser via projektfilen. .NET CLI tillhandahåller inte kommandon för att lägga till eller ta bort sammansättningsreferenser.

Om du vill referera till en .NET sammansättning som inte ingår i ett projekt eller paket lägger du till ett <Reference> element i projektfilen. Använd -elementet <HintPath> för att ange den relativa eller absoluta sökvägen till sammansättningen:

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

Ta bort en sammansättningsreferens genom att ta bort dess <Reference> element från projektfilen.

Mer information om objektet finns i ReferenceVanliga MSBuild-projektobjekt.

Råd

  • Inkludera inte indata till återställningsåtgärden i .targets - eller .props-filen i ett refererat paket. Dessa indata kan innehålla PackageReference objekt, ExcludeAssets attribut, NuGet-feeds som ska användas eller annan NuGet-konfiguration. .targets- och .props-filerna från paket används inte förrän NuGet-återställningen har slutförts. Allt som behövs för återställning måste finnas i projektfilen eller .targets-filen för själva projektet, inte i ett paketberoende.

  • Om du vill använda ASP.NET API:er i ett konsolprogram eller klassbibliotek lägger du till ett FrameworkReference-objekt i projektfilen:

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

    Mer information finns i Använda det delade ramverket ASP.NET Core.

Se även