Share via


.NET Framework 4 마이그레이션 가이드

업데이트: 2010년 8월

응용 프로그램이 이전 버전의 .NET Framework를 사용하여 만들어진 경우 일반적으로 버전 4로 쉽게 업그레이드할 수 있습니다. Visual Studio 2010에서 프로젝트를 엽니다. 프로젝트가 이전 버전에서 만들어진 경우 Visual Studio 변환 마법사가 자동으로 열립니다. 프로젝트 업그레이드에 대한 자세한 내용은 방법: 이전 버전의 Visual Studio에서 만든 프로젝트 업그레이드를 참조하십시오.

그러나 .NET Framework에서 일부 사항을 변경하려면 코드를 변경해야 합니다. .NET Framework 4에서 새로운 기능을 활용할 수도 있습니다. 이와 같이 새 .NET Framework 버전의 응용 프로그램으로 변경하는 작업을 일반적으로 마이그레이션이라고 합니다. 응용 프로그램을 마이그레이션할 필요가 없는 경우 다시 컴파일하지 않고 .NET Framework 4에서 실행할 수 있습니다. 자세한 내용은 방법: .NET Framework 4 런타임 구성을 참조하십시오. 호환성 테스트 시나리오에 대한 자세한 내용은 .NET Framework 4 Application Compatibility Walkthrough를 참조하십시오.

이 항목에서는 응용 프로그램을 .NET Framework 3.5에서 .NET Framework 4로 마이그레이션하는 방법에 관련된 작업, 리소스 및 문제에 대해 설명합니다.

마이그레이션 리소스

응용 프로그램을 마이그레이션하기 전에 다음 문서를 참조하십시오.

마이그레이션 문제 개요

다음 표에서는 .NET Framework 4 마이그레이션 문제에 자세히 설명된 주요 문제를 간략하게 설명합니다. 여기에는 이전 문제가 해결된 수정 내용뿐 아니라 마이그레이션 작업에 도움이 될 수 있는 향상된 기능이 포함되어 있습니다.

기술

응용 프로그램 개발 및 리소스

구성 및 기타 고려 사항

컨트롤 및 그래픽

보안

상호 운용성

관련 형식 및 멤버

ASP.NET 및 웹

여러 버전의 자식 웹 응용 프로그램 지원

  • 브라우저 정의 파일 업데이트

  • HTML 폼 및 요청, 인코딩 구문 및 캐시 정책에 대한 변경 사항

  • 보다 엄격한 페이지 구문 분석

  • System.Web.Mobile.dll removed에 대한 참조 제거

  • .config 파일 업데이트

  • URL 라우팅 및 웹 폴더 이름

  • 새 클라이언트 ID 모드

  • 새로운 렌더링 기능

  • XHTML 1.1 규격

  • 브라우저에서 Windows Forms 컨트롤 호스팅 지원 중지 IEHost.dll 및 IEExec.dll이 .NET Framework에서 제거됨

  • Passport 인증은 Live ID SDK로 대체됨

  • 데이터를 암호화하는 해시 알고리즘 변경

없음

HttpBrowserCapabilities, HttpUtility, HttpServerUtility, Menu, MenuRenderingMode, ControlRenderingCompatibilityVersion, PopOutImageUrl, StaticPopOutImageUrl, DynamicPopOutImageUrl, AppendHeader(String, String), PassportIdentity, HttpRequest, FilePath, AppRelativeCurrentExecutionFilePath, CurrentExecutionFilePath, PathInfo

코어

  • In-Process, Side-by-Side 실행과 관련된 고려 사항

  • 어셈블리 로딩 및 해시 알고리즘 향상

  • 전역 어셈블리 캐시 위치 변경

  • C# 코드 컴파일러 클래스가 CodeDOM으로 대체됨

  • 셸 플러그 인 뷰어는 Gacutil.exe(전역 어셈블리 캐시 도구)에서 더 이상 지원되지 않음

  • .config 파일 이름 지정

  • 날짜 및 시간 속성에서 이제 .NET Framework 데이터 대신 운영 체제 규칙이 사용됨

  • 손상된 프로세스 상태에 대한 예외 처리 변경

없음

  • 새로운 보안 모델

  • 일부 호스팅 활성화 형식과 멤버는 사용되지 않음

  • JIT 디버깅 변경

  • 이제 잘못된 플랫폼을 호출하면 응용 프로그램이 작동하지 않음

  • Windows 작업 관리자와 같은 네이티브 응용 프로그램에서 관리되지 않는 라이브러리가 더 이상 표시되지 않음

날짜 및 시간: Local, Now, TimeSpan

전역화: CurrencyEnglishName, LongDatePattern, PMDesignator, CultureTypes, FrameworkCultures, WindowsOnlyCultures

예외: HandleProcessCorruptedStateExceptionsAttribute, ExecutionEngineException

리플렉션: HashAlgorithm, None, GetReferencedAssemblies(), ProcessModuleCollection, DeclaringType

데이터

호스팅 향상

  • 뷰 매핑 향상

  • 행 편집 향상

  • POCO 지원.

  • 일괄 처리되는 이진 내용, 헤더, 삭제 요청에 대한 변경 인터셉터, 병합 작업, URI 이스케이프, 내부 스트림 및 JSON 판독기에 대한 데이터베이스 서비스 지원

  • 예외 향상

없음

없음

없음

DataSet 및 SQL 클라이언트: IRelatedEnd, IEntityWithRelationships, DataView, PropertyChanged, RejectChanges(), DataSet, Prepare()

Entity Framework: Detach(Object), SaveChanges()

LINQ to SQL: EntitySet<TEntity>, ListChanged

WCF 데이터 서비스: TimeoutException, DataServiceRequestException, MergeOption, AppendOnly, PreserveChanges, OnStartProcessingRequest(ProcessRequestArgs), ServiceOperation

전역화

Windows 7 이상 운영 체제에서 가져온 문화권 정보

  • 새로운 중립 및 특정 문화권과 이름 변경

  • 향상된 Unicode 5.1 표준 지원

없음

없음

없음

없음

WCF

없음

  • 서비스 호스팅 구성 변경

  • 구성 파일 간 병합 지원

  • 사용되지 않는 문화권 형식

없음

없음

없음

없음

WPF

  • Freezable 리소스 사전

  • 리소스 파일 위치 옵션

  • XPS 뷰어 Essentials Pack 설치

  • 특성에는 하나의 마침표만 사용 가능

  • 태그 확장 수정

  • 예외 향상

  • 다운로드되는 이미지의 렌더링이 향상된 비트맵 프레임

  • 자식 창은 고정 해제되지 않음

  • 메뉴의 자식 개체, 화면에 표시되지 않는 컨테이너, 위치 조정 처리, 트리 뷰 계층 구조 향상

  • 메뉴 및 팝업에 대해 ClearType 지원

  • 새로운 UI 자동화 인터페이스

  • 동일한 스레드에서 CommonDialog.ShowStream 및 Microsoft.Win32.FileDialog 실행

  • 불필요한 이벤트 없이 프레임 탐색

  • 레이아웃 과정 중에 팝업 대리자를 여러 번 호출 가능

  • 해당 값에 영향을 주는 트리거 이후에 속성 값을 유지할 수 있음

  • 불필요한 레이아웃 반복 제거(무효화)

  • 이제 뷰 모델 기반의 명령 인스턴스에 바인딩 가능

  • 사용되지 않는 키 조합은 난독 처리됨

  • WPF 브라우저 응용 프로그램에서 더 이상 키 이벤트를 처리하지 않음

  • 보다 많은 창 스타일 설정 지원

  • 텍스트 상자에서 자동화된 잘라내어 붙여넣기를 제공하여 부분 신뢰의 보안 강화

없음

응용 프로그램: AllowsTransparency, WindowState

컨트롤: CollectionView, SetCurrentValue(DependencyProperty, Object), Copy(), Cut()

그래픽: DropShadowEffect, BlurEffect, ShaderEffect, DownloadFailed, InputBinding, DeadCharProcessed, DeadCharProcessedKey

UI 자동화: TreeViewAutomationPeer, TreeViewItemAutomationPeer, IItemContainerProvider, ISynchronizedInputProvider, IVirtualizedItemProvider

XAML: ProvideValue(IServiceProvider)

XML

없음

  • 카멜레온 스키마가 올바르게 복제됨

  • 엔터티 참조가 엔터티로 한 번만 변환됨

  • 네임스페이스 확인자 수정

  • 판독기 및 XPath 탐색 수정

  • 스키마 집합에 기타 집합이 포함 가능

없음

없음

없음

스키마 및 변환: XmlReader, CreateReader(), XPathNavigator, XmlSchemaSet, Load(XmlReader)

유효성 검사: ReadContentAs(Type, IXmlNamespaceResolver), IXmlNamespaceResolver, Create(Stream)

쓰기: WriteEntityRef(String), XmlWriter, None

참고 항목

개념

.NET Framework 4의 새로운 기능

.NET Framework 버전 및 종속성

기타 리소스

.NET Framework 4 마이그레이션 문제

.NET Framework 버전 1.1에서 마이그레이션

방법: .NET Framework 4 런타임 구성

.NET Framework의 버전 호환성

.NET Framework의 사용되지 않는 기능

.NET Framework 4의 새 형식 및 멤버

.NET Framework Version and Assembly Information

Microsoft .NET Framework 지원 기간 정책

변경 기록

날짜

변경 내용

이유

2010년 8월

웹 브라우저에서의 컨트롤 호스팅, 컴파일러 클래스 및 CodeDOM 및 전역 어셈블리 캐시 뷰어에 대한 문제가 추가되었습니다.

향상된 기능 관련 정보