다음을 통해 공유


.NET Framework 지원 및 새로운 기능

업데이트: 2007년 11월

.NET Compact Framework 버전 2.0에서는 새로운 기능이 추가되었으며 .NET Framework 클래스에 대한 지원도 확장되었습니다. 또한 JIT(Just-In-Time) 컴파일, 가비지 수집, XML Web services 및 데이터 액세스를 비롯한 몇 가지 기능 영역에서 보다 나은 성능을 제공합니다.

전체 .NET Framework 기능에 대한 지원

다음 표에서는 .NET Compact Framework 버전 2.0의 개선된 .NET Framework 기능 지원을 요약하여 설명합니다.

확장된 지원

설명

응용 프로그램 도메인

응용 프로그램 도메인을 언로드할 수 있습니다.

무명 메서드

.NET Compact Framework에서는 다음 예제에 표시된 것처럼 대리자에 이벤트 처리 코드를 포함할 수 있는 새로운 C# 기능을 지원합니다.

// In constructor.

button.Click += new EventHandler(sender,args)

{

// Increment a counter or other action.

};

암호화 지원

다음 기능이 지원됩니다.

  • X.509 인증서

  • 해싱:

    MD5 및 SHA1

  • 대칭 키 암호화:

    RC2, RC4, 3DES, DES

  • 비대칭 키 암호화:

    RSA, DSA

향상된 DataSet

GetChanges 메서드가 지원되며 System.Data 네임스페이스의 클래스도 추가로 지원됩니다.

이벤트

이벤트 발생과 관련된 내부 기능이 향상되었습니다.

예외

다음과 같은 이벤트를 통해 개선된 예외 처리를 지원합니다.

제네릭

제네릭 지원에 대한 자세한 내용은 .NET Compact Framework의 제네릭을 참조하십시오.

전역화

추가 인코딩이 지원됩니다.

어셈블리

Friend 어셈블리(C# 프로그래밍 가이드)가 지원됩니다.

네트워킹

NTLM 인증 및 차세대 인터넷 프로토콜인 IPv6이 지원됩니다.

CredentialCache가 지원됩니다.

XML serialization 성능이 향상되었습니다.

SOAP 1.2가 지원됩니다.

다음과 같은 인증 프로토콜이 지원됩니다.

  • Negotiate

  • NTLM

  • Kerberos

MSMQ(메시지 큐)

MSMQ 구성 요소 및 System.Messaging 클래스 사용을 위한 핵심 기능이 지원됩니다. 자세한 내용은 .NET Compact Framework의 메시지 큐를 참조하십시오.

예제를 보려면 MSMQ 책 주문 응용 프로그램 샘플을 참조하십시오.

partial 클래스

.NET Compact Framework에서는 새 프로젝트를 만들 때 Microsoft Visual Studio 2005에서 사용되는 것과 같은 partial 클래스를 지원합니다.

레지스트리 키

RegistryKey 클래스를 사용하여 레지스트리 키를 설정할 수 있습니다.

열린 RegistryKey 및 열린 자식 RegistryKey 개체를 키 삭제 전에 명시적으로 닫아야 합니다.

레지스트리 키의 최대 깊이는 Windows CE 제한에 따라 15입니다.

직렬 포트

전체 .NET Framework에서 작업할 때처럼 직렬 포트에 액세스할 수 있습니다. 예제를 보려면 직렬 통신 응용 프로그램 샘플을 참조하십시오. Visual Studio 2005 열거자에서도 이러한 직렬 포트 지원을 사용할 수 있습니다.

SQL Server

SQL Server Compact 3.5 온라인 설명서는 Microsoft 다운로드 센터 웹 사이트에서 다운로드할 수 있습니다.

문자열

Substring 메서드는 startIndex 매개 변수가 length 매개 변수보다 클 경우 예외를 throw합니다.

String.Empty.Substring(0, 1)은 ArgumentException을 throw합니다.

스레딩

BeginInvokeEndInvoke 메서드를 지원하며 Invoke 메서드에서 매개 변수를 사용하도록 지원합니다.

참고:

BeginInvokeEndInvoke는 비동기 대리자에 대해 지원되지 않습니다.

Visual Basic My 개체

.NET Compact Framework 2.0에서는 다음 My 개체를 지원합니다.

XML 지원

XML 지원으로는 다음과 같은 것들이 있습니다.

새로운 기능

다음 표에서는 .NET Compact Framework 2.0에서 새로 제공하는 장치 관련 기능을 요약하여 설명합니다.

기능

설명

독립 실행형 개발

.NET Compact Framework 버전 1.0에서는 명령줄 컴파일이 지원되지만 .NET Compact Framework 2.0에서는 보다 뛰어난 독립 실행형 컴파일 및 디버깅 기능을 제공합니다. 자세한 내용은 방법: 명령 프롬프트에서 컴파일을 참조하십시오.

이전 .NET Compact Framework 버전 응용 프로그램을 버전 2.0에서 실행

방법: 런타임 버전 구성을 참조하십시오.

Microsoft.WindowsCE.Forms의 새 컨트롤

Windows Forms 및 그래픽을 참조하십시오.

향상된 상호 운용성

.NET Compact Framework 버전 2.0에서는 다음과 같은 향상된 상호 운용성을 제공합니다.

  • 네이티브 코드 상호 운용성:

    • 향상된 플랫폼 호출 형식 마샬링

    • 대리자를 함수 포인터로 마샬링

    • 추가 형식 - 배열, 문자열, 구조체

    • 포함된 배열 – char[], array[]가 있는 구조체

    • MarshalAs – 형식 힌트

  • 관리 코드에서 COM 개체 사용:

    • RCW(런타임 호출 가능 래퍼) 지원은 관리되는 응용 프로그램에서 COM 개체로의 호출을 가능하게 합니다. 그러나 COM을 통해 관리되는 개체를 활성화할 수는 없습니다.

    • CCW(COM 호출 가능 래퍼) 지원은 네이티브 코드에서 관리 코드로의 콜백을 가능하게 합니다.

    • 런타임에 바인딩되는 호출과 초기에 바인딩되는 호출 지원(IDispatch 및 vtable)

    • Visual Studio 2005로 통합

.NET Compact Framework는 System.Runtime.InteropServices 네임스페이스 하위 집합만 지원하지만 MarshalAsAttribute 특성이 지원되므로 고급 마샬링 기능을 사용할 수 있습니다. 또한 .NET Compact Framework 2.0에서는 Marshal 클래스에 속하는 몇 가지 새 멤버를 지원합니다. 모든 OLE 자동화 형식을 비롯한 광범위한 형식을 COM을 통해 .NET Compact Framework로 마샬링할 수 있습니다. 사용자 지정 마샬링, COM STA(단일 스레드 아파트) 스레딩 모델 및 자동 생성 클래스 인터페이스는 지원되지 않습니다.

함수 호출의 마샬링을 로그 파일에 기록하도록 레지스트리 키를 설정할 수 있습니다. 자세한 내용은 방법: 로그 파일 만들기를 참조하십시오.

또한 .NET Compact Framework에서 형식 라이브러리 가져오기(Tlbimp.exe)를 사용할 수도 있습니다. Visual Studio에서 장치 프로젝트에 COM 형식 라이브러리에 대한 참조를 추가할 수 있습니다.

압축된 구조체의 경우 .NET Compact Framework 버전 2.0은 Pack을 지원하지 않지만 Explicit 필드 및 FieldOffsetAttribute 특성을 지원합니다. 현재 제한에서는 네이티브 구조체 레이아웃을 위반하는 구조체를 마샬링할 수 없습니다. 즉, Int32 값은 4바이트 정렬이고 Int64Double 값은 8바이트 정렬이어야 합니다. 요소가 기본적으로 정렬되지 않는 압축된 구조체가 필요한 경우에는 마샬링을 직접 수행해야 합니다.

상호 운용성 및 관련 방법 항목에 대한 자세한 내용은 .NET Compact Framework의 상호 운용성을 참조하십시오.

리소스 파일 변경

.NET Compact Framework 버전 2.0에서 .resx 파일 형식은 전체 .NET Framework의 형식과 동일합니다. 두 Framework에서 동일한 리소스 파일 생성기(Resgen.exe)를 사용할 수 있으며 CFResgen.exe 유틸리티는 더 이상 필요하지 않습니다.

참고 항목

개념

Windows Forms 및 그래픽

기타 리소스

.NET Compact Framework 버전 2.0의 새로운 기능