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

이 문서에서는 패키지, 프로젝트 및 어셈블리 종속성을 추가하고 제거하는 방법을 설명합니다.

패키지 종속성 추가 및 제거

프로젝트 파일을 편집하거나 .NET CLI 명령을 통해 종속성을 추가하고 제거할 수 있습니다.

CLI 사용

종속성을 추가하려면 SDK 버전에 대한 명령을 실행 dotnet package 합니다.

dotnet package add Microsoft.EntityFrameworkCore

종속성을 제거하려면 SDK 버전에 대한 명령을 실행 dotnet package 합니다.

dotnet package remove Microsoft.EntityFrameworkCore

프로젝트 파일 편집

종속성을 추가하려면 <PackageReference> 요소 내에 <ItemGroup> 항목을 추가합니다. 기존 <ItemGroup> 항목에 추가하거나 새로 만들 수 있습니다.

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

  <PropertyGroup>
    ...
  </PropertyGroup>

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

</Project>

이 특성은 Include 프로젝트에 추가할 패키지의 ID를 지정합니다. Version 속성은 가져올 버전을 지정합니다. 버전은 NuGet 버전 규칙에 따라 지정됩니다.

다음 예제와 같이 조건을 사용하여 특정 대상에서만 사용할 수 있는 종속성을 추가합니다.

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

이전 예제의 종속성은 지정된 대상에 대한 빌드가 발생하는 경우에만 유효합니다. $(TargetFramework) 조건에서는 프로젝트에서 설정되는 MSBuild 속성입니다. 가장 일반적인 .NET 애플리케이션의 경우 이 작업을 수행할 필요가 없습니다.

종속성을 제거하려면 프로젝트 파일에서 해당 <PackageReference> 항목을 제거합니다.

항목에 대한 PackageReference 자세한 내용은 .NET SDK 프로젝트에 대한 MSBuild 참조를 참조하세요.

프로젝트 참조 추가 및 제거

프로젝트가 다른 프로젝트에 의존하는 경우 프로젝트 간 참조를 사용합니다. 프로젝트 참조를 추가하고 제거하려면 프로젝트 파일을 편집하거나 CLI를 사용합니다.

CLI 사용

프로젝트 참조를 추가하려면 SDK 버전에 대한 명령을 실행 dotnet reference 합니다.

dotnet reference add ../MyLibrary/MyLibrary.csproj

프로젝트 참조를 제거하려면 SDK 버전에 대해 다음 명령을 실행합니다.

dotnet reference remove ../MyLibrary/MyLibrary.csproj

프로젝트 파일 편집

<ProjectReference> 프로젝트 파일 요소는 참조된 프로젝트의 경로를 식별합니다. 프로젝트 참조를 추가하려면 <ItemGroup> 요소 안에 <ProjectReference> 항목을 추가합니다. 기존 <ItemGroup> 항목에 추가하거나 새로 만들 수 있습니다.

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

프로젝트 참조를 제거하려면 프로젝트 파일에서 <ProjectReference> 요소를 제거합니다.

ProjectReference 항목에 대한 자세한 내용은 Common MSBuild project items를 참조하세요.

어셈블리 참조 추가 및 제거

프로젝트 파일을 통해 어셈블리 참조를 추가하고 제거할 수 있습니다. .NET CLI는 어셈블리 참조를 추가하거나 제거하는 명령을 제공하지 않습니다.

프로젝트 또는 패키지의 일부가 아닌 .NET 어셈블리를 참조하려면 프로젝트 파일에 요소를 추가 <Reference> 합니다. <HintPath> 요소를 사용하여 어셈블리에 대한 상대 또는 절대 경로를 지정합니다.

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

어셈블리 참조를 제거하려면 프로젝트 파일에서 해당 <Reference> 요소를 제거합니다.

Reference 항목에 대한 자세한 내용은 일반적인 MSBuild 프로젝트 항목을 참조하세요.

팁

  • 참조된 패키지의 .targets 또는 .props 파일에 복원 작업의 입력을 포함하지 마세요. 이러한 입력에는 PackageReference 항목, ExcludeAssets 특성, 사용할 NuGet 피드 또는 기타 NuGet 구성이 포함될 수 있습니다. 패키지 의 .targets 및 .props 파일은 NuGet 복원이 완료될 때까지 사용되지 않습니다. 복원에 필요한 모든 항목은 패키지 종속성이 아니라 프로젝트 파일 또는 프로젝트 자체의 .targets 파일에 있어야 합니다.

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

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

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

참고하십시오