Visual Studio 다중 대상 지정 개요Visual Studio Multi-Targeting Overview

Visual StudioVisual Studio의 이 버전에서는 응용 프로그램에 필요한 .NET Framework.NET Framework 버전을 지정할 수 있습니다.In this version of Visual StudioVisual Studio, you can specify the version of the .NET Framework.NET Framework that is required for your application. 따라서 Visual StudioVisual Studio의 이 버전을 사용해서 이전 버전에서 시작한 프로젝트 개발을 계속하려는 경우 프레임워크 대상을 변경할 필요가 없습니다.Therefore, if you want to use this version of Visual StudioVisual Studio to continue to develop a project that you started in an earlier version, you do not have to change the framework target. 여러 가지 버전의 프레임워크를 대상으로 지정하는 프로젝트가 포함된 솔루션을 만들 수도 있습니다.You could also create a solution that contains projects that target different versions of the framework. 프레임워크 대상 지정을 통해 응용 프로그램에서 지정된 버전의 프레임워크에서 제공되는 기능만 사용하도록 할 수 있습니다.Framework targeting also helps guarantee that the application uses only functionality that is available in the specified version of the framework.

다른 플랫폼에 대한 응용 프로그램을 대상으로 지정할 수도 있습니다.You can also target applications for different platforms. 자세한 내용은 멀티 타기팅을 참조하세요.For more information, see Multitargeting

프레임워크 대상 지정 기능Framework Targeting Features

프레임워크 대상 지정에는 다음 기능이 포함됩니다.Framework targeting includes the following features:

  • .NET Framework.NET Framework의 이전 버전을 대상으로 하는 프로젝트를 열면 Visual StudioVisual Studio에서는 프로젝트를 자동으로 업그레이드하거나 대상을 있는 그대로 유지할 수 있습니다.When you open a project that targets an earlier version of the .NET Framework.NET Framework, Visual StudioVisual Studio can automatically upgrade it or leave the target as is.

  • 프로젝트를 만들 경우 대상으로 지정할 .NET Framework.NET Framework의 버전을 지정할 수 있습니다.When you create a project, you can specify the version of the .NET Framework.NET Framework that you want to target.

  • 기존 프로젝트에서 대상으로 지정하는 .NET Framework.NET Framework의 버전을 변경할 수 있습니다.You can change the version of the .NET Framework.NET Framework that an existing project targets.

  • 같은 솔루션에 포함된 여러 프로젝트에서 각각 .NET Framework.NET Framework의 다른 버전을 대상으로 지정할 수 있습니다.You can target a different version of the .NET Framework.NET Framework in each of several projects in the same solution.

  • 프로젝트에서 대상으로 지정하는 .NET Framework.NET Framework의 버전을 변경하면 Visual StudioVisual Studio에서는 필요에 따라 참조 및 구성 파일을 변경합니다.When you change the version of the .NET Framework.NET Framework that a project targets, Visual StudioVisual Studio makes any required changes to references and configuration files.

    .NET Framework.NET Framework의 이전 버전을 대상으로 지정하는 프로젝트 관련 작업을 할 경우 Visual Studio에서는 다음과 같이 개발 환경을 동적으로 변경합니다.When you work on a project that targets an earlier version of the .NET Framework.NET Framework, Visual Studio dynamically changes the development environment, as follows:

  • 새 프로젝트 대화 상자, 새 항목 추가 대화 상자, 새 참조 추가 대화 상자 및 서비스 참조 추가 대화 상자에서 항목을 필터링하여 대상 버전에서 사용할 수 없는 선택 항목을 생략합니다.It filters items in the New Project dialog box, the Add New Item dialog box, the Add New Reference dialog box, and the Add Service Reference dialog box to omit choices that are not available in the targeted version.

  • 도구 상자에서 사용자 지정 컨트롤을 필터링하여 대상 버전에서 사용할 수 없는 컨트롤을 제거하고 여러 컨트롤을 사용할 수 있을 경우에는 가장 최신 컨트롤만 표시합니다.It filters custom controls in the Toolbox to remove those that are not available in the targeted version and to show the only the most up-to-date controls when multiple controls are available.

  • IntelliSense를 필터링하여 대상 버전에서 사용할 수 없는 언어 기능을 생략합니다.It filters IntelliSense to omit language features that are not available in the targeted version.

  • 속성 창에서 속성을 필터링하여 대상 버전에서 사용할 수 없는 속성을 생략합니다.It filters properties in the Properties window to omit those that are not available in the targeted version.

  • 메뉴 옵션을 필터링하여 대상 버전에서 사용할 수 없는 옵션을 생략합니다.It filters menu options to omit options that are not available in the targeted version.

  • 빌드에는 컴파일러 버전 및 대상 버전에 적절한 컴파일러 옵션을 사용합니다.For builds, it uses the version of the compiler and the compiler options that are appropriate for the targeted version.

참고

프레임워크 대상 지정을 수행해도 응용 프로그램이 제대로 실행되지 않을 수 있습니다.Framework targeting does not guarantee that your application will run correctly. 응용 프로그램을 테스트하여 대상 버전에 대해 실행되는지 확인해야 합니다.You must test your application to make sure it runs against the targeted version. .NET Framework 2.0 이전의 프레임워크 버전은 대상으로 지정할 수 없습니다.You cannot target framework versions that are earlier than the .NET Framework 2.0.

대상 프레임워크 버전 선택Selecting a Target Framework Version

프로젝트를 만들 때 새 프로젝트 대화 상자에서 대상 .NET Framework.NET Framework 버전을 선택합니다.When you create a project, select the target .NET Framework.NET Framework version in the New Project dialog box. 사용 가능한 프로젝트 템플릿 목록은 선택에 따라 필터링됩니다.The list of available project templates is filtered based on the selection. 기존 프로젝트의 경우 [프로젝트 속성] 대화 상자에서 대상 .NET Framework.NET Framework 버전을 변경할 수 있습니다.In an existing project, you can change the target .NET Framework.NET Framework version in the project properties dialog box. 자세한 내용은 방법: 한 버전의 .NET Framework를 대상으로 지정을 참조하세요.For more information, see How to: Target a Version of the .NET Framework.

참고

Visual Studio의 Express 버전에서는 새 프로젝트 대화 상자에서 대상 프레임워크를 설정할 수 없습니다.In Express editions of Visual Studio, you cannot set the target framework in the New Project dialog box.

시스템 및 사용자 어셈블리 참조 확인Resolving System and User Assembly References

.NET Framework 버전을 대상으로 지정하려면 먼저 적절한 어셈블리 참조를 설치해야 합니다.To target a .NET Framework version, you must first install the appropriate assembly references. .NET Framework 버전 2.0, 3.0 및 3.5에 대한 어셈블리 참조는 Microsoft Download Center, Microsoft Visual Studio(Microsoft 다운로드 센터, Microsoft Visual Studio) 웹 사이트에서 다운로드할 수 있는 .NET Framework 3.5 SP1에 포함됩니다.Assembly references for the .NET Framework versions 2.0, 3.0, and 3.5 are included in the .NET Framework 3.5 SP1, which you can download from the Microsoft Download Center, Microsoft Visual Studio website. .NET Framework 3.5 Client Profile, .NET Framework 4, .NET Framework 4 Client Profile 및 Silverlight에 대한 어셈블리 참조는 Visual Studio Downloads(Visual Studio 다운로드) 웹 사이트에서도 다운로드할 수 있습니다.Assembly references for the .NET Framework 3.5 Client Profile, the .NET Framework 4, the .NET Framework 4 Client Profile, and Silverlight are also available from the Visual Studio Downloads website.

참고

.NET Framework Client Profile은 라이브러리 및 기능의 제한된 집합을 제공하는 .NET Framework의 하위 집합입니다.A .NET Framework client profile is a subset of the .NET Framework that provides a limited set of libraries and features. Client Profile에 대한 자세한 내용은 .NET Framework Client Profile을 참조하세요.For more information about client profiles, see .NET Framework Client Profile.

참조 추가 대화 상자에서는 실수로 프로젝트에 추가될 수 없도록 대상 .NET Framework.NET Framework 버전에 관련이 없는 시스템 어셈블리가 사용되지 않습니다.The Add Reference dialog box disables system assemblies that do not pertain to the target .NET Framework.NET Framework version so that they cannot be added to a project inadvertently. 시스템 어셈블리는 .NET Framework.NET Framework 버전에 포함된 .dll 파일입니다. 대상 버전 이후의 프레임워크 버전에 속한 참조는 확인되지 않고 이런 참조에 따라 결정되는 컨트롤을 추가할 수 없습니다.(System assemblies are .dll files that are included in a .NET Framework.NET Framework version.) References that belong to a framework version that is later than the targeted version will not resolve, and controls that depend on such a reference cannot be added. 해당 참조를 사용하도록 설정하려면 프로젝트의 .NET Framework.NET Framework 대상을 참조가 포함된 대상으로 다시 설정합니다.If you want to enable such a reference, reset the .NET Framework.NET Framework target of the project to one that includes the reference. 자세한 내용은 방법: 한 버전의 .NET Framework를 대상으로 지정을 참조하세요.For more information, see How to: Target a Version of the .NET Framework.

어셈블리 참조에 대한 자세한 내용은 디자인 타임에 어셈블리 확인을 참조하세요.For more information about assembly references, see Resolving Assemblies at Design Time.

LINQ 사용Enabling LINQ

.NET Framework 3.5 이상을 대상으로 지정하면 System.Core에 대한 참조 및 System.Linq에 대한 프로젝트 수준 가져오기(Visual Basic에서만)가 자동으로 추가됩니다.When you target the .NET Framework 3.5 or later, a reference to System.Core and a project-level import for System.Linq (in Visual Basic only) are added automatically. LINQ 기능을 사용하려면 Option Infer도 켜야 합니다(Visual Basic에서만).If you want to use LINQ features, you must also turn Option Infer on (in Visual Basic only). 대상을 이전 .NET Framework 버전으로 변경하면 참조 및 가져오기가 자동으로 제거됩니다.The reference and import are removed automatically if you change the target to an earlier .NET Framework version. 자세한 내용은 LINQ 작업을 참조하세요.For more information, see Working with LINQ.

참고 항목See Also

멀티 타기팅 Multitargeting
Platform compatibility and system requirements(플랫폼 호환성 및 시스템 요구 사항)Platform compatibility and system requirements