학습
모듈
새 .NET 프로젝트 만들기 및 패키지 종속성 사용 - Training
.NET 프로젝트를 만들고 프로젝트에서 패키지를 추가하고 패키지 종속성을 관리하는 방법을 알아봅니다. Visual Studio Code를 통해 C# 애플리케이션에 라이브러리 및 도구를 추가하려면 .NET Core CLI 및 NuGet 레지스트리를 사용합니다.
이 문서에서는 프로젝트 파일을 편집하거나 CLI를 사용하여 패키지 종속성을 추가하고 제거하는 방법을 설명합니다.
<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>
항목을 제거합니다.
종속성을 추가하려면 다음 예제와 같이 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 공유 프레임워크를 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.
학습
모듈
새 .NET 프로젝트 만들기 및 패키지 종속성 사용 - Training
.NET 프로젝트를 만들고 프로젝트에서 패키지를 추가하고 패키지 종속성을 관리하는 방법을 알아봅니다. Visual Studio Code를 통해 C# 애플리케이션에 라이브러리 및 도구를 추가하려면 .NET Core CLI 및 NuGet 레지스트리를 사용합니다.