Xamarin.Mac용 대상 프레임워크

이 문서에서는 Xamarin.Mac에 사용할 수 있는 대상 프레임워크(기본 클래스 라이브러리)와 Xamarin.Mac 프로젝트에서 이러한 프레임워크를 사용하는 것에 대한 의미를 설명합니다.

Target framework options for Xamarin.Mac

배경

모든 .NET 프로그램 또는 라이브러리는 BCL(기본 클래스 라이브러리)에서 제공하는 기능에 따라 달라집니다. 이 BCL에는 모든 .NET 언어에 기본 제공되는 공통 기능을 제공하는 mscorlib, System, System.Net.Http 및 System.Xml과 같은 어셈블리가 포함됩니다.

수년에 걸쳐 다양한 사용 사례에 최적화된 이 BCL의 여러 버전이 개발되었습니다. "데스크톱" BCL에는 다른 사용 사례에 비해 너무 많은 라이브러리 집합이 포함되어 있으며, 모바일은 API가 연결에 안전하도록 하는 데 중점을 두어 사용하지 않는 코드를 제거하여 애플리케이션 공간을 줄입니다.

이러한 다양한 대상 프레임워크의 가장 중요한 영향 중 하나는 지정된 프로그램의 모든 어셈블리가 호환되는 BCL 어셈블리를 대상으로 해야 한다는 것입니다. 그렇지 않은 경우 지정된 형식의 서명에 대해 동의하지 않는 System.dll 서로 다른 버전의 System.dll 연결된 두 어셈블리를 가질 수 있습니다. 공유 라이브러리는 대상 프레임워크의 공통 하위 집합인 .NET Standard 2 또는 특정 대상 프레임워크를 대상으로 지정할 수 있습니다.

Xamarin.Mac에는 세 가지 대상 프레임워크 옵션을 사용할 수 있으며, 각각 다른 장점과 장단점이 있습니다.

  • 최신 (이전 설명서에서는 Mobile이라고 함) – Xamarin.iOS를 구동하는 것과 매우 유사한 하위 집합으로, 성능 및 크기에 맞게 고도로 조정됩니다. 이 대상 프레임워크는 링커로부터 안전하므로 이러한 프로젝트는 사용되지 않는 코드를 제거하여 최종 공간을 크게 줄일 수 있습니다.

  • 전체 (이전 설명서에서는 XM 4.5라고 함) – 몇 가지 작은 제거가 있는 "데스크톱" BCL과 매우 유사한 하위 집합입니다. 대상 프레임워크는 net45 이상과 거의 동일하기 때문에 netstandard2 또는 특정 Xamarin.Mac 빌드를 제공하지 않는 많은 nugets를 쉽게 사용할 수 있습니다. 그러나 System.Configuration 사용으로 인해 연결과 호환되지 않습니다.

  • 지원 되지 않음(이전 설명서의 시스템이라고 함) – Xamarin.Mac에서 제공하는 BCL에 연결하는 대신 현재 시스템 설치 모노를 사용합니다. 문제가 있는 것으로 알려진 일부 어셈블리를 포함하여 전체 어셈블리 집합을 제공합니다(예: System.Drawing). 이 옵션은 "최후의 수단"만 존재하며 사용하기 전에 다른 옵션을 소모하는 것이 좋습니다. 이름에서 알 수 있듯이 사용량은 공식 지원 채널에서 지원되지 않습니다.

대상 프레임워크 설정

Xamarin.Mac 프로젝트의 대상 프레임워크 형식으로 변경하려면 다음을 수행합니다.

  1. Mac용 Visual Studio에서 Xamarin.Mac 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 프로젝트 파일을 두 번 클릭하여 프로젝트 옵션 대화 상자를 엽니다.

  3. 일반 탭에서 애플리케이션의 요구에 맞는 대상 프레임워크 유형을 선택합니다.

    Using the Project Options window to choose a target framework

  4. 확인 단추를 클릭하여 변경 내용을 저장합니다.

대상 프레임워크 유형을 전환한 후 Xamarin.Mac 프로젝트를 정리한 다음다시 빌드해야 합니다.

요약

이 문서에서는 Xamarin.Mac 애플리케이션에서 사용할 수 있는 다양한 유형의 대상 프레임워크(기본 클래스 라이브러리)와 각 프레임워크 유형을 사용해야 하는 경우에 대해 간략하게 설명했습니다.