管理 .NET 應用程式中的套件相依性
本文說明如何藉由編輯專案檔或使用 CLI 來新增和移除套件相依性。
<PackageReference> 元素
<PackageReference>
專案檔元素具有下列結構:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
Include
屬性指定要新增至專案的套件識別碼。 Version
屬性指定要取得的版本。 版本是根據 NuGet 版本規則來指定。
使用條件來新增只能在特定目標中使用的相依性,如下列範例所示:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
只有在針對該指定目標進行組建時,上面範例中的相依性才有效。 條件中的 $(TargetFramework)
是一個要在專案中設定的 MSBuild 屬性。 對於最常見的 .NET 應用程式,您不需要這麼做。
新增和移除相依性
您可以編輯專案檔或透過 .NET CLI 命令來新增和移除相依性。
編輯專案檔
若要新增相依性,請在 <ItemGroup>
元素內新增 <PackageReference>
項目。 您可以新增至現有的 <ItemGroup>
或建立一個新的。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
...
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
</ItemGroup>
</Project>
若要移除相依性,請從專案檔中移除其 <PackageReference>
項目。
使用 CLI
若要新增相依性,請執行 dotnet add package 命令,如下列範例所示:
dotnet add package Microsoft.EntityFrameworkCore
若要移除相依性,請執行 dotnet remove package 命令,如下列範例所示:
dotnet remove package Microsoft.EntityFrameworkCore
提示
請勿在參考套件的 .targets 或 .props 檔案中包含還原作業的輸入。 這些輸入可以包含
PackageReference
項目、ExcludeAssets
屬性、要使用的 NuGet 摘要,或其他 NuGet 設定。 在 NuGet 還原完成之前,不會使用來自套件的 .targets 和 .props 檔案。 還原所需的任何項目都必須位於專案檔或專案本身的 .targets 檔案中,而不是套件相依性。如果您想要在主控台應用程式或類別庫中使用 ASP.NET API,請將 FrameworkReference 項目新增至您的專案檔:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
如需詳細資訊,請參閱使用 ASP.NET Core 共用架構。