Visual Studio 다중 대상 지정 개요

Visual Studio의 다중 대상 지정 기능을 사용하면 응용 프로그램을 사용하는 데 필요한 .NET Framework 버전 또는 프로필을 지정할 수 있습니다. 다중 대상 지정 기능의 가장 큰 이점은 현재 버전의 Visual Studio를 사용하여 이전 버전의 .NET Framework를 대상으로 하는 프로젝트를 만들고 개발할 수 있다는 점입니다. 예를 들어, 새로운 .NET Framework 종속성을 추가하지 않고도 Visual Studio 2005 및 Visual Studio 2008에서 만든 프로젝트를 계속해서 개발할 수 있습니다. 다중 대상 지정을 사용하면 지정된 .NET Framework 버전에서 사용 가능한 기능만 응용 프로그램에서 사용할 수 있습니다. 또한 배포 패키지에 새 .NET Framework 버전을 추가할 필요 없이 이전 응용 프로그램을 계속 배포할 수 있습니다.

참고

Visual Studio에서 다중 대상 지정은 응용 프로그램이 .NET Framework의 여러 버전에서 실행될 것을 보장하지는 않습니다. 다중 대상 지정을 사용하면 응용 프로그램에 적합한 .NET Framework 버전 대상을 선택할 수 있습니다. 선택된 버전에서 응용 프로그램이 실행되는지 확인하기 위해 이전과 마찬가지로 응용 프로그램을 테스트해야 합니다. Visual Studio의 다중 대상 지정은 .NET Framework 2.0 이상 버전에만 적용됩니다.

.NET Framework 버전 및 프로필

Visual Studio 2010에는 NET Framework 4만 포함되어 있습니다. 이전 버전의 .NET Framework를 대상으로 지정하려면 .NET Framework 3.5 SP1(서비스 팩)이 설치되어 있어야 합니다. .NET Framework 3.5 SP1에는 .NET Framework 2.0, .NET Framework 3.0, 및 .NET Framework 3.5 SP1이 포함됩니다. .NET Framework 3.5 SP1을 다운로드하여 설치하려면 Microsoft Download Center 웹 사이트에서 Microsoft .NET Framework 3.5 Service Pack 1을 참조하십시오.

.NET Framework 프로필은 제한된 라이브러리 및 기능 집합을 제공하는 .NET Framework의 하위 집합입니다. Framework 프로필의 예로는 클라이언트 응용 프로그램을 만드는 데 사용할 수 있는 클라이언트 프로필이 있습니다. 클라이언트 프로필에 대한 자세한 내용은 .NET Framework Client Profile을 참조하십시오.

프로젝트를 만들 때 새 프로젝트 대화 상자에서 대상 .NET Framework 버전 또는 프로필을 선택하여 지정할 수 있습니다. 사용 가능한 프로젝트 템플릿의 목록은 선택 항목을 기준으로 필터링됩니다.

참고

새 프로젝트 대화 상자를 통한 다중 대상 지정은 Visual Studio의 Express 버전에서는 사용할 수 없습니다.

대상 .NET Framework 버전 변경

기존 프로젝트의 경우 프로젝트 속성을 수정하여 대상 .NET Framework 버전 또는 프로필을 변경할 수 있습니다. 자세한 내용은 프로젝트 디자이너, 응용 프로그램 페이지(C#)고급 컴파일러 설정 대화 상자(Visual Basic)를 참조하십시오.

대상 .NET Framework 버전을 변경한 경우 Visual Studio에서는 참조된 어셈블리 버전을 항상 자동으로 변경하지는 않습니다. 따라서 수동 변경 작업이 필요할 수도 있습니다. 자세한 내용은 .NET Framework 대상 지정 오류 문제 해결을 참조하십시오.

다중 대상 지정 기능

Visual Studio의 다중 대상 지정 기능은 다음과 같습니다.

  • Visual Studio에서 이전 버전의 .NET Framework를 대상으로 하는 프로젝트를 열 경우 Visual Studio에서 자동으로 프로젝트를 업그레이드하거나 이전 버전을 대상으로 유지하도록 그대로 둘 수 있습니다.

  • 새 프로젝트를 만들 때 프로젝트의 대상으로 지정하려는 .NET Framework의 버전을 지정할 수 있습니다.

  • 기존 프로젝트의 대상으로 지정된 .NET Framework의 버전을 변경할 수 있습니다.

  • 동일한 솔루션에서 프로젝트별로 서로 다른 .NET Framework 버전을 대상으로 지정할 수 있습니다.

  • 프로젝트의 대상으로 지정된 .NET Framework 버전을 변경하면 Visual Studio에서 참조 및 구성 파일에 대해 필요한 변경을 수행합니다.

또한 이전 버전의 .NET Framework를 대상으로 하는 프로젝트에서 작업할 경우 Visual Studio는 다음과 같이 개발 환경에서 동적으로 변경을 수행합니다.

  • 새 프로젝트 대화 상자, 새 항목 추가 대화 상자, 새 참조 추가 대화 상자 및 서비스 참조 추가 대화 상자의 항목을 필터링하여 최신 버전에서만 사용할 수 있는 선택 항목을 생략합니다.

  • 도구 상자의 사용자 지정 컨트롤을 필터링하여 최신 버전에서만 사용할 수 있는 컨트롤을 제거하고 대상 버전에 대해 여러 개의 컨트롤이 제공될 경우 최신 버전을 표시합니다.

  • IntelliSense를 필터링하여 이후 버전에서만 사용할 수 있는 언어 기능을 생략합니다.

  • 속성 창의 속성을 필터링하여 최신 버전에서만 사용할 수 있는 속성을 생략합니다.

  • 메뉴 옵션을 필터링하여 최신 버전에서만 사용할 수 있는 옵션을 생략합니다.

  • 적절한 버전의 컴파일러와 컴파일러 옵션을 사용하여 컴파일하고 빌드합니다.

.NET Framework의 여러 버전과 호환되는 응용 프로그램 개발

.NET Framework의 여러 버전과 호환되는 응용 프로그램을 개발하려면 .NET Framework의 낮은 버전을 대상으로 응용 프로그램을 개발한 다음 .NET Framework의 높은 버전을 대상으로 빌드하는 것이 좋습니다. 예를 들어 .NET Framework 3.5를 대상으로 응용 프로그램을 개발하고 .NET Framework 4를 대상으로 빌드할 수 있습니다.

시스템 및 사용자 어셈블리 참조 확인

참조 추가 대화 상자에서는 대상 .NET Framework 버전과 관련되지 않은 시스템 어셈블리가 비활성화되어 있습니다. 시스템 어셈블리는 .NET Framework 버전의 일부인 .dll 파일입니다. 이와 같이 어셈블리가 비활성화되어 있으므로 대상 버전에 없는 어셈블리에 대한 참조를 추가할 염려가 없습니다. 현재 프로젝트의 대상으로 지정된 버전보다 최신 버전인 .NET Framework에 속하는 참조를 포함하도록 프로젝트 파일을 수정하면 참조가 확인되지 않으며 이 참조에 종속되는 컨트롤을 추가하거나 사용할 수 없게 됩니다. 이 참조는 프로젝트 속성 페이지에서 프로젝트의 .NET Framework 대상을 참조를 포함하는 대상으로 전환하여 확인할 수 있습니다. 자세한 내용은 프로젝트 디자이너를 사용하여 프로젝트 속성 관리를 참조하십시오.

LINQ 사용

프로젝트를 .NET Framework 3.5 이상으로 이동하면 System.Core에 대한 참조와 System.Linq에 대한 프로젝트 수준의 가져오기(Visual Basic에만 해당)가 자동으로 추가됩니다. LINQ 기능을 사용하려면 Option Infer도 On으로 설정해야 합니다(Visual Basic에만 해당). 대상 .NET Framework를 3.0 또는 2.0으로 변경하면 참조와 가져오기가 자동으로 제거됩니다. 자세한 내용은 방법: LINQ 프로젝트 만들기를 참조하십시오.

참고 항목

개념

ASP.NET 웹 프로젝트에 대한 .NET Framework 다중 대상 지정

기타 리소스

MSBuild Concepts