[C#] Portable Class Library

2016. 3. 29. 23:29Others/C# 일반

.NET Framework Potable Clas Library project을 이용하면 cross platform app과 library를 신속하고 간단히 개발하실 수 있습니다. Portable Class Library project로 제작된 library는 Windows와 Windows Phone와 같은 다양한 플렛폼에서 사용하실 수 있습니다.

Portable Class Library type으로 생성하고 개발이 진행된 경우라도, 언제든지 target platform을 변경하실 수 있습니다. Visual Studio는 새로운 target platform에 맞추어 새로운 Assembly를 생성하게 됩니다.

Microsoft는 Portable Class Library들을 제공하고 있으며, 이를 통해 다양한 앱이나 Library를 생성하시는 데 사용할 수 있습니다. Portable Class Library로 제작된 App이나 Assembly는 어떤 .NET Framework-based runtime 동작하며 심지어 Microsoft에서 제작하지 않은 platform에서도 동작합니다. (예: Xamarin)

Visual Studio 지원

Visual Studio Support for creating a Portable Class Library
Visual Studio 2010, Professional, Premium, or Ultimate Portable Library Tools을 설치한 경우 지원
Visual Studio Express 2010 versions 지원 안함
Visual Studio 2012 Professional, Premium, or Ultimate Windows Phone SDK 8.0를 설치한 경우 지원
Visual Studio Express 2012 versions 지원 안함
Visual Studio 2013 Professional, Premium, or Ultimate 지원 함. Windows Phone 8.1 지원을 위해서는 Visual Studio 2013 Update 2 설치가 필요함
Visual Studio Express 2013 for Windows 지원 함. 최신 버전의 Update2가 포함된 버전을 설치한 경우 (업데이트를 통해 설치가능)

Portable Class Library project 생성

Portable Class Library는 Visual Studio에서 제공되는 Template를 통해 생성하실 수 있습니다.

* 새 프로젝트 –> Template –> Class Library (POrtable) template 선택 –> C# 선택

그러면 다음과 같이 3가지 플렛폼에 대한 Template를 보실 수 있습니다.

  • Store Apps
  • Windows Desktop :
  • Silverlight

Windows Phone 8.1, Windows 8.1을 타겟으로 할 경우 Store apps를 선택 한 뒤 Class Library (portable for Unuiversal Apps를 선택하세요.

Portable Class Library for Store Apps

위의 Template는 자동으로 Windows 8.1과 Windows Phone 8.1을 타겟으로 합니다. 언제든지 Windows Phone8.1 혹은 Windows 8.1만 지원하실 수 있도록 변경하실 수 있고, 추후 추가 삭제가 가능합니다.

다음과 같이 Add Portable Class Library 다일로그가 나타나며 추가적으로 지원하고자 하는 플렛폼을 선택해주세요. 선택하신 플렛폼에 호환성 이슈가 있을 경우 하단에 경고 메시지로 나타나게 됩니다.

Change target frameworks dialog for VS2013

위의 창은 프로젝트를 생성한 후에도 Project 속성을 통해 언제든지 수정가능합니다.

Target options

제작하실 Portable Class Library가 지원할 운영체제나 .NET Framework버전은 다음 테이블과 같이 지원됩니다.

지원
옵션
Visual Studio 2012 Visual Studio 2013 Visual Studio 2013
Update 2 또는 이후 버전
.NET Framework
  • .NET Framework 4 and higher
  • .NET Framework 4.0.3 and higher
  • .NET Framework 4.5
  • .NET Framework 4 and higher
  • .NET Framework 4.0.3 and higher
  • .NET Framework 4.5 and higher
  • .NET Framework 4.5.1
  • .NET Framework 4
  • .NET Framework 4.0.3
  • .NET Framework 4.5
  • .NET Framework 4.5.1
Windows Phone
  • Windows Phone 7 and higher
  • Windows Phone 7.5 and higher
  • Windows Phone 8
  • Windows Phone 8
  • Windows Phone Silverlight 8
  • Windows Phone Silverlight 8.1
Windows Runtime과 XAML 지원을 위해서는 다음을 선택하세요:
  • Windows Phone 8.1
Windows Store
  • .NET For Windows Store Apps
  • Windows Store Apps (Windows 8) and higher
  • Windows Store Apps (Windows 8.1)
  • Windows 8
  • Windows 8.1
Silverlight
  • Silverlight 4 and higher
  • Silverlight 5
  • Silverlight 5
  • Silverlight 5
Xbox
  • Xbox 360
N/A N/A

Supported Features

운영체제나 .NET Framework에 따라 지원되는 기능은 다음과 같습니다.

Feature .NET Framework Windows Store Windows Phone Store Windows Phone Silverlight Silverlight Xbox 360
4 4.0.3 4.5 8 8.1 8.1 7.5 8 8.1 4 5
Core libraries
Async support  
Compression            
Data annotations            
Dynamic keyword          
HTTPClient  
IQueryable  
Language-Integrated Query (LINQ)  
Managed Extensibility Network (MEF)          
Network Class Library (NCL)  
Serialization (data contract, XML, and JSON)  
System.Numerics          
View models (MVVM)      
Windows Communication Foundation (WCF)    
Windows Runtime APIs                    
Windows.UI.XAML                    
XLINQ