.NET 애플리케이션에서 패키지 종속성 관리

이 문서에서는 프로젝트 파일을 편집하거나 CLI를 사용하여 패키지 종속성을 추가하고 제거하는 방법을 설명합니다.

<PackageReference> 요소

<PackageReference> 프로젝트 파일 요소는 다음과 같은 구조를 갖습니다.

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />

Include 특성은 프로젝트에 추가할 패키지의 ID를 지정합니다. 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 구성이 포함될 수 있습니다. 패키지의 .targets.props 파일은 NuGet 복원이 완료될 때까지 사용되지 않습니다. 복원에 필요한 모든 항목은 패키지 종속성이 아니라 프로젝트 파일이나 프로젝트 자체의 .targets 파일에 있어야 합니다.

  • 콘솔 애플리케이션 또는 클래스 라이브러리에서 ASP.NET API를 사용하려면 프로젝트 파일에 FrameworkReference 항목을 추가합니다.

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

    자세한 내용은 ASP.NET Core 공유 프레임워크를 참조하세요.

참고 항목