대상 프레임워크가 여러 개인 프로젝트Projects with multiple target frameworks

Mac용 Visual Studio에서 Xamarin 또는 .NET Core 프로젝트를 여러 버전의 .NET Framework 및 여러 시스템 플랫폼에서 실행되도록 구성할 수 있습니다.In Visual Studio for Mac, you can configure a Xamarin or .NET Core project to run on any one of several versions of the .NET Framework, and on any one of several system platforms. 예를 들어 .NET Framework 4.6 및 .NET Core 3.1 모두에서 실행되도록 프로젝트 대상을 지정할 수 있습니다.For example, you could target a project to run on both .NET Framework 4.6 and .NET Core 3.1.

대상 프레임워크에 대한 자세한 내용은 대상 프레임워크를 참조하세요.For more information about target frameworks, see Target frameworks.

참고

이 토픽은 Mac용 Visual Studio에 적용됩니다.This topic applies to Visual Studio for Mac. Windows용 Visual Studio는 Framework 대상 지정 개요를 참조하세요.For Visual Studio on Windows, see Framework targeting overview.

여러 프레임워크 대상 지정Targeting multiple frameworks

대상 프레임워크는 프로젝트 파일에서 지정되며 프로젝트를 마우스 오른쪽 단추로 클릭하고 도구 > 파일 편집 명령을 선택하여 편집할 수 있습니다.Target frameworks are specified in your project file, which you can edit by right-clicking on your project and choosing the Tools > Edit File command. 단일 대상 프레임워크를 지정하는 경우 TargetFramework 요소를 사용합니다.When a single target framework is specified, use the TargetFramework element. 다음 콘솔 앱 프로젝트 파일에서는 .NET Core 3.0을 대상 프레임워크로 지정하는 방법을 보여 줍니다.The following console app project file demonstrates how to target .NET Core 3.0:

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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

</Project>

다중 대상 프레임워크를 지정하는 경우 복수형 TargetFrameworks 요소를 사용합니다.Use the plural TargetFrameworks element with multiple target frameworks:

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

  <PropertyGroup>
    <TargetFrameworks>netstandard1.4;net40;net45</TargetFrameworks>
  </PropertyGroup>

여러 프레임워크를 대상으로 지정하는 방법에 대해 자세히 알아봅니다.Learn more about how to target multiple frameworks.

다중 대상 프로젝트에서 코드 작업Working with code in a multi-target project

대상 프레임워크가 여러 개인 프로젝트에서 C# 파일을 편집하는 경우 사용할 대상 프레임워크를 지정하여 편집기 환경을 안내할 수 있습니다(예: 해당 프레임워크에서 지원하지 않는 API를 사용하는 경우 경고를 표시).When you're editing a C# file in a project with multiple target frameworks, you can specify which target framework you want to use to guide your editor experience (for example, showing warnings if you use an API not supported by that framework). 편집기 창의 왼쪽 위에 있는 대상 프레임워크 선택기를 사용하여 대상 프레임워크를 변경할 수 있습니다.You can change the target framework by using the Target Framework selector in the top left corner of the editor window.

편집기 창 위쪽에 있는 대상 프레임워크 선택기를 사용하여 대상 프레임워크 변경

애플리케이션이 대상으로 하는 플랫폼에 따라 다른 API를 호출해야 하는 경우도 있습니다.Sometimes you need to call different APIs depending on the platform your application is targeting. 이렇게 하려면 조건부 코드를 작성하여 특정 플랫폼에 대한 코드를 컴파일할 수 있습니다.To do this, you can write conditional code to compile code for a specific platform:

public class MyClass
{
    static void Main()
    {
#if NET40
        Console.WriteLine("Target framework: .NET Framework 4.0");
#elif NET45  
        Console.WriteLine("Target framework: .NET Framework 4.5");
#else
        Console.WriteLine("Target framework: .NET Standard 1.4");
#endif
    }
}

코드를 작성할 때 애플리케이션에서 지원하는 대상 프레임워크 중 하나라도 특정 API가 누락될 경우 IntelliSense 자동 완성 제안에 경고가 표시되므로 이를 알 수 있습니다.When writing code, you will see warnings in IntelliSense auto-completion suggestions, letting you know if specific APIs are missing for any of the target frameworks your application supports.

IntelliSense에 표시된 경고 메시지 - API가 지정된 대상 프레임워크에 대해 작동하지 않음.

참고 항목See also