다중 .NET Framework를 대상으로 지정 개요

업데이트: 2007년 11월

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

다중 대상 지정 기능

이전 버전의 Visual Studio를 사용하려면 최신 버전의 .NET Framework을 설치해야 했습니다. 예를 들어 Visual Studio 2005를 사용하려면 .NET Framework 2.0도 설치해야 합니다. 새로운 .NET Framework 버전에서는 추가적인 기능도 제공되지만 프로젝트에 대한 새 .NET Framework 종속성도 추가됩니다. 이러한 종속성으로 인해 응용 프로그램이 이전에 실행되었던 시스템에서 실행되지 않을 수 있습니다. 응용 프로그램이 이전 버전과 호환되어야 하는 경우에는 이로 인해 문제가 발생할 수 있습니다.

그러나 Visual Studio 2008에서는 프로젝트에 사용할 특정 .NET Framework 버전을 프로젝트 열기 및 새 프로젝트 대화 상자의 오른쪽 위에 있는 Framework 버전 상자에서 선택하여 대상으로 지정할 수 있습니다.

기본적으로 Visual Studio 2005 프로젝트를 Visual Studio 2008로 업그레이드해도 프로젝트는 .NET Framework 2.0을 계속 대상으로 합니다. 필요한 경우에는 대상을 .NET Framework 2.0에서 .NET Framework 3.0 또는 .NET Framework 3.5로 전환하여 해당 버전의 새로운 기능을 활용할 수도 있습니다.

새로운 .NET Framework 버전

Visual Studio 2005는 .NET Framework 2.0을 대상으로 했습니다. Visual Studio 2008에서는 .NET Framework 라이브러리를 추가 대상으로 지정할 수 있습니다.

  • .NET Framework 3.0: Windows Vista에 포함되어 있으며 Windows Presentation Foundation, Windows Communication Foundation 및 Windows Workflow Foundation을 포함합니다.

  • .NET Framework 3.5: Visual Studio 2008에 포함되어 있습니다.

  • .NET Framework 3.5 SP1: Visual Studio 2008 SP1에 포함되어 있습니다.

.NET Framework Client Profile: Visual Studio 2008 SP1에 포함되어 있습니다. .NET Framework Client Profile에 대한 자세한 내용은 .NET Framework Client Profile를 참조하십시오.

.NET Framework 3.5 SP1 대상 지정

Visual Studio 2008 SP1부터는 .NET Framework 3.5 SP1을 응용 프로그램 대상으로 지정할 수 있습니다. 그러나 .NET Framework 3.5 SP1이 대상 프레임워크 드롭다운 목록에 제공되지는 않습니다. 따라서 응용 프로그램에서 .NET Framework 3.5 SP1을 대상으로 명확하게 지정하려면 새로운 System.Data.Entity.dll 어셈블리 참조를 추가하거나 다음 작업 중 하나를 수행하여 Visual Studio 2008 SP1에서 SP1 ClickOnce 기능을 활성화해야 합니다.

  • 오류 URL을 지정합니다.

  • 제품군 이름을 지정합니다.

  • 바탕 화면 바로 가기를 만듭니다.

  • 응용 프로그램 파일 대화 상자의 해시에서 파일을 제외합니다.

  • 서명 페이지에서 ClickOnce 매니페스트 서명을 지웁니다.

이러한 작업 중 하나를 수행하면 Visual Studio 2008 SP1에서 .NET Framework 3.5 SP1을 대상으로 자동 지정합니다. 자세한 내용은 방법: 특정 .NET Framework를 대상으로 지정의 ".NET Framework 버전 3.5 SP1을 대상으로 지정"을 참조하십시오.

참고:

Visual Studio 2008 SP1 또는 .NET Framework 3.5 SP1을 설치한 후에도 .NET Framework 3.5만 필요로 하는 기존 응용 프로그램은 여전히 .NET Framework 3.5를 대상으로 합니다.

대상 지정 프로젝트 만들기 및 열기

Framework 버전 콤보 상자에서는 프로젝트에 대해 대상 배포 프레임워크를 지정할 수 있습니다. 이 뷰의 사용 가능한 템플릿 목록은 지정된 프레임워크 대상에 따라 필터링됩니다. 새로운 Visual Studio 2008 프로젝트에서는 모든 최신 기능을 제공할 수 있도록 자동으로 최신 .NET Framework 버전(현재 .NET Framework 3.5)을 대상으로 지정합니다.

Visual Studio 2008에는 현재 대상 .NET Framework 버전과 관련된 컨트롤 및 기타 프로젝트 항목만 표시됩니다. 그러므로 프로젝트에 새 컨트롤을 추가하여 최신  .NET Framework 버전에 실수로 새 종속성을 추가할 염려가 없습니다.

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

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

현재 프로젝트의 대상으로 지정되어 있는 버전보다 최신 버전의 .NET Framework에 속하는 시스템 어셈블리를 직접 또는 간접 참조하는 사용자가 만든 어셈블리에 참조를 추가하면 Visual Studio 2008에서 경고가 표시됩니다. 이 경고를 무시하는 경우에는 배포 프로젝트에 필요한 .NET Framework 파일이 모두 포함되어 있는지 확인하십시오.

.NET Framework 3.5 프로젝트에서 LINQ 사용

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

참고 항목

기타 리소스

MSBuild 개념