Pakketafhankelijkheden beheren in .NET-toepassingen
In dit artikel wordt uitgelegd hoe u pakketafhankelijkheden toevoegt en verwijdert door het projectbestand te bewerken of met behulp van de CLI.
Het <element PackageReference>
Het <PackageReference>
projectbestandselement heeft de volgende structuur:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
Het Include
kenmerk geeft de id op van het pakket dat moet worden toegevoegd aan het project. Het Version
kenmerk geeft de versie op die moet worden opgehaald. Versies worden opgegeven volgens nuGet-versieregels.
Gebruik voorwaarden om een afhankelijkheid toe te voegen die alleen beschikbaar is in een specifiek doel, zoals wordt weergegeven in het volgende voorbeeld:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
De afhankelijkheid in het voorgaande voorbeeld is alleen geldig als de build plaatsvindt voor dat opgegeven doel. De $(TargetFramework)
voorwaarde is een MSBuild-eigenschap die wordt ingesteld in het project. Voor de meest voorkomende .NET-toepassingen hoeft u dit niet te doen.
Afhankelijkheden toevoegen en verwijderen
U kunt afhankelijkheden toevoegen en verwijderen door het projectbestand of via .NET CLI-opdrachten te bewerken.
Het projectbestand bewerken
Als u een afhankelijkheid wilt toevoegen, voegt u een <PackageReference>
item in een <ItemGroup>
element toe. U kunt aan een bestaande <ItemGroup>
toevoegen of een nieuwe maken.
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
...
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
</ItemGroup>
</Project>
Als u een afhankelijkheid wilt verwijderen, verwijdert u het <PackageReference>
item uit het projectbestand.
De CLI gebruiken
Als u een afhankelijkheid wilt toevoegen, voert u de dotnet add package opdracht uit, zoals wordt weergegeven in het volgende voorbeeld:
dotnet add package Microsoft.EntityFrameworkCore
Als u een afhankelijkheid wilt verwijderen, voert u de dotnet remove package opdracht uit, zoals wordt weergegeven in het volgende voorbeeld:
dotnet remove package Microsoft.EntityFrameworkCore
Tips
Neem geen invoer op voor de herstelbewerking in het .targets - of .props-bestand van een pakket waarnaar wordt verwezen. Deze invoer kan
PackageReference
items,ExcludeAssets
kenmerken, de NuGet-feeds bevatten die moeten worden gebruikt of een andere NuGet-configuratie. De .targets - en .props-bestanden van pakketten worden pas gebruikt nadat NuGet-herstel is voltooid. Alles wat nodig is voor herstel moet zich in het projectbestand of het .targets-bestand van het project zelf, niet in een pakketafhankelijkheid.Als u ASP.NET API's wilt gebruiken in een consoletoepassing of klassebibliotheek, voegt u een FrameworkReference-item toe aan uw projectbestand:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
Zie Het gedeelde framework ASP.NET Core gebruiken voor meer informatie.