Správa závislostí v aplikacích .NET

Tento článek vysvětluje, jak přidat a odebrat závislosti na balíčcích, projektech a sestaveních.

Přidání a odebrání závislostí balíčků

Závislosti můžete přidávat a odebírat úpravou souboru projektu nebo pomocí příkazů .NET CLI .

Použití rozhraní příkazového řádku

Pokud chcete přidat závislost, spusťte dotnet package příkaz pro vaši verzi sady SDK:

dotnet package add Microsoft.EntityFrameworkCore

Pokud chcete odebrat závislost, spusťte dotnet package příkaz pro vaši verzi sady SDK:

dotnet package remove Microsoft.EntityFrameworkCore

Úprava souboru projektu

Pokud chcete přidat závislost, přidejte <PackageReference> položku do elementu <ItemGroup> . Můžete přidat do existujícího <ItemGroup> nebo vytvořit nový.

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

  <PropertyGroup>
    ...
  </PropertyGroup>

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

</Project>

Atribut Include určuje ID balíčku, který se má přidat do projektu. Atribut Version určuje verzi, která se má získat. Verze se zadají podle pravidel verzí NuGet.

Podmínky použijte k přidání závislosti, která je k dispozici pouze v určitém cíli, jak je znázorněno v následujícím příkladu:

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

Závislost v předchozím příkladu bude platná pouze v případě, že sestavení probíhá pro daný cíl. V $(TargetFramework) podmínce je vlastnost MSBuild, která je nastavena v projektu. U nejběžnějších aplikací .NET to nemusíte dělat.

Pokud chcete odebrat závislost, odeberte její <PackageReference> položku ze souboru projektu.

Další informace o PackageReference položce naleznete v referenčních informacích nástroje MSBuild pro projekty .NET SDK.

Přidání a odebrání odkazů na projekt

Pokud váš projekt závisí na jiném projektu, použijte odkaz mezi projekty. Pokud chcete přidat a odebrat odkazy na projekt, upravte soubor projektu nebo použijte rozhraní příkazového řádku.

Použití rozhraní příkazového řádku

Pokud chcete přidat odkaz na projekt, spusťte dotnet reference příkaz pro vaši verzi sady SDK.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Pokud chcete odebrat odkaz na projekt, spusťte následující příkaz pro vaši verzi sady SDK:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Úprava souboru projektu

Element <ProjectReference> souboru projektu identifikuje cestu k odkazovanému projektu. Chcete-li přidat odkaz na projekt, přidejte <ProjectReference> položku uvnitř elementu <ItemGroup> . Můžete přidat do existujícího <ItemGroup> nebo vytvořit nový.

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

Pokud chcete odebrat odkaz na projekt, odeberte <ProjectReference> prvek ze souboru projektu.

Další informace o položce ProjectReference naleznete v článku Běžné položky projektu MSBuild.

Přidání a odebrání odkazů na sestavení

Odkazy na sestavení můžete přidávat a odebírat prostřednictvím souboru projektu. Rozhraní .NET CLI neposkytuje příkazy pro přidání ani odebrání odkazů na sestavení.

Pokud chcete odkazovat na .NET sestavení, které není součástí projektu nebo balíčku, přidejte <Reference> do souboru projektu prvek. Pomocí elementu <HintPath> určete relativní nebo absolutní cestu k sestavení:

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

Chcete-li odebrat odkaz na sestavení, odeberte z projektového souboru jeho prvek <Reference>.

Další informace o položce Reference najdete v tématu Běžné položky projektu MSBuild.

Tipy

  • Nezahrnujte vstupy do operace obnovení do souboru .targets nebo .props odkazovaného balíčku. Tyto vstupy můžou zahrnovat PackageReference položky, ExcludeAssets atributy, informační kanály NuGet, které se mají použít, nebo jinou konfiguraci NuGetu. Soubory .targets a .props z balíčků se po dokončení obnovení NuGet nepoužívají. Cokoli potřebného k obnovení musí být v souboru projektu nebo souboru .targets samotného projektu, nikoli v závislosti na balíčku.

  • Pokud chcete použít rozhraní API ASP.NET v konzolové aplikaci nebo knihovně tříd, přidejte do souboru projektu položku FrameworkReference :

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

    Další informace najdete v tématu použití sdílené architektury ASP.NET Core.

Viz také