Microsoft .Net Framework 4.8의 새로운 기능

Microsoft는 Windows 용 회사 애플리케이션 개발 프레임 워크의 최신 버전 인 .Net Framework 4.8을 출시했습니다. 이 업데이트는 Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation 및 Windows Communication Foundation에 대한 여러 버그 수정, 보안 패치 및 개선 사항을 제공합니다. 

.Net Framework 4.8 다운로드 위치

Microsoft의 .Net 사이트에서 .Net Framework의 프로덕션 릴리스를 다운로드 할 수 있습니다. 

현재 버전 : .Net Framework 4.8의 새로운 기능

2019 년 4 월 18 일에 출시 된 .Net Framework 4.8에는 다음과 같은 새로운 기능과 개선 사항이 포함되어 있습니다.

  • NGEN (Native Image Generator)의 경우 .Net Framework의 이미지에는 더 이상 쓰기 및 실행 가능한 섹션이 없습니다. 이는 NGEN 메모리 주소를 수정하여 임의의 코드를 실행하려는 공격에 사용할 수있는 노출 영역을 줄입니다.
  • 이제 디스크 또는 네트워크에서로드 된 모든 어셈블리에 대해 맬웨어 방지 검색이 시작됩니다. 이전에는 .Net 런타임이 디스크에서로드 된 어셈블리의 검색 (Windows Defender 및 맬웨어 방지 검색 인터페이스를 구현하는 타사 맬웨어 방지 소프트웨어에 의해) 만 시작했습니다. 
  • .Net Framework 4.8 JIT 컴파일러는 .Net Core 2.1을 기반으로합니다. .Net Core 2.1의 버그 수정 및 코드 생성 기반 최적화를 이제 .Net Framework에서 사용할 수 있습니다.
  • BCL (기본 클래스 라이브러리)에서 Zlib 외부 압축 라이브러리가 개선되었으며 X509Certificate2 및 관련 유형을 사용하여 발생하는 객체 완료 횟수가 감소했으며 호출자와 함께 지문을 얻기위한 API가 추가되었습니다. 지정된 다이제스트 알고리즘.
  • 또한 .Net Framework 4.8의 BCL은 암호화에 대한 FIPS (Federal Information Processing Standards) 영향을 줄입니다. .Net Framework 2.0 이후로 암호화 라이브러리가 FIPS 모드에서 구성 될 때 암호화 공급자 클래스에서 예외가 발생했습니다. .Net 4.8에서는 이러한 예외가 더 이상 기본적으로 발생하지 않습니다.
  • 시각 장애인에 대한 응용 프로그램 데이터의 통신을 향상시키기 위해 Windows Forms에 대한 접근성 향상 기능이 제공됩니다.
  • ASP.Net에서는 다중 부분 데이터 처리에 영향을 줄 수있는 다중 값 HTTP 헤더 처리와 관련된 문제가 수정되었습니다.
  • 잘못된 값이 EventListeners로 전송되는 CLR (공용 언어 런타임) 문제가 수정되었습니다.
  • 고 대비 모드가 활성화되면 Windows Forms에서 활성화 된 레이블이 항상 고 대비 텍스트 색상을 통해 렌더링됩니다. 이는 .Net Framework 4.8을 대상으로 재 컴파일 된 애플리케이션에 영향을줍니다.
  • XOML 파일로 프로젝트를 빌드 할 때 XOML 파일 체크섬을 생성하는 데 사용되는 해싱 알고리즘이 변경되었습니다. 개발자는 여전히 이전 알고리즘을 사용할 수 있습니다.
  • 내부 메모리 캐시에 대한 키를 계산하는 해싱 알고리즘이 수정되었습니다. 개발자는 여전히 이전 알고리즘을 사용할 수 있습니다.
  • 프록시를 통해 HTTPS 서버와 통신 할 때 HttpWebRequest에 영향을 미치는 메모리 누수가 수정되었습니다.
  • Windows Presentation Foundation에서 UIAutomation이있을 때 부모 컬렉션에서 데이터 항목을 제거 할 때 발생했던 메모리 누수가 수정되었습니다.
  • Windows Presentation Foundation에는 모니터 별 V2 DPI 인식 및 혼합 모드 DPI에 대한 지원이 추가되었습니다.
  • Windows Communication Foundation에서는 고 대비 테마에서 ComboBox 컨트롤의 테마가 잘못 지정되는 접근성 문제가 수정되었습니다.
  • Windows Communication Foundation에서 ServiceHealthBehavior는 ServiceDescription.Behaviors 컬렉션에 추가 된 서비스 동작으로 기능합니다. HTTP 응답 코드와 함께 서비스 상태를 반환하고 서비스 상태를 게시 할 수 있습니다. 

이전 버전 : .Net Framework 4.7.2의 새로운 기능

Spring Framework와 같은 기술에서 이미 널리 사용되는 종속성 주입을 사용하면 한 개체가 다른 개체의 종속성을 제공 할 수 있습니다. .Net Framework 4.7.2를 사용하면 ASP.net 웹 양식에서이 기능을 더 쉽게 사용할 수 있습니다. Setter, 인터페이스 및 생성자 기반 주입이 지원되며 다른 종속성 주입 프레임 워크를 연결할 수 있습니다.

.Net Framework 4.7.2의 다른 새로운 기능은 다음과 같습니다.

  • SameSite속성은 ASP.Net 웹 프레임 워크에 추가되어 쿠키가 사이트 간 요청과 함께 전송되지 않아야한다고 주장합니다. 이 SameSite속성 의 목표는 정보 유출을 줄이고 사이트 간 위조 공격으로부터 보호하는 것입니다. 속성이 HttpCookieType. FormsAuthentication 및 SessionState 쿠키에도 포함되어 있습니다.
  • 보안 및 규정 준수를 개선하기 위해 Azure Active Directory 인증은 다단계 인증에 추가 된 대화 형 인증 키워드를 통해 지원됩니다. SqlClient 연결 문자열의 확장입니다.
  • API가 표준 컬렉션 유형에 추가되어 HashSet을 용량으로 구성 할 수있는 HashSet 생성자와 같은 새로운 기능을 사용할 수 있습니다. 이것은 HashSet의 크기를 알고있을 때 성능상의 이점을 제공합니다.
  • 암호화 향상은 RSA 및 DSA 개체의 생성과 ImportParameters.
  • WPF (Windows Presentation Foundation)에는 참조가 해결 StaticResource될 때 진단 도우미에게 알릴 수있는 참조 기능 이 추가되었습니다 StaticResource. 예를 들어 Visual Studio의 편집 및 계속 기능과 같은 진단 도우미는 리소스가 변경되거나 리소스 사전의 값을 대체 할 때 리소스 사용을 업데이트하려고 할 수 있습니다.
  • WorkflowDesignerColors클래스는 고 대비 모드에서 UI 경험을 개선하기 위해 추가되었습니다.
  • Zlib 압축 해제를 통해 Zip의 기본 구현을 사용하여 Zip 아카이브 압축 해제 처리량이 향상되었습니다.
  • .Net Framework 워크로드는 이제 인증서 서명 요청을 생성하여 요청 생성을 기존 도구에 스테이징 할 수 있습니다.
  • ClickOnce를 사용하여 배포 된 Windows Presentation Foundation 및 HDPI 인식 VSTO (Visual Studio Tools for Office) 응용 프로그램에 대한 모니터 별 지원이 추가되었습니다.
  • .Net Standard 2.0에 대한 지원이 향상되었습니다.
  • 진단 도우미는 지정된 소스 URI에서 생성 된 ResourceDictionaries를 찾을 수 있습니다.

이전 버전 : .Net Framework 4.7.1의 새로운 기능

2017 년 10 월 중순 Microsoft의 .Net Framework 4.7.1 릴리스와 함께 개발 플랫폼은 가비지 수집, 보안 및 응용 프로그램 구성에 대한 중요한 개선 사항을 얻었습니다. 

특히 대용량 개체 힙 할당의 경우 메모리 할당 성능을 높이기 위해 가비지 수집기에 대한 아키텍처 변경은 힙 할당을 크고 작은 개체 힙으로 분할합니다. 많은 대용량 개체 힙 할당을 수행하는 응용 프로그램은 할당 잠금 경합이 감소하고 성능이 향상되어야합니다.

이 업데이트는 또한 SHA-1의 강력한 후속 제품인 SHA-2 (보안 해시 알고리즘)를 포함하여 ASP.Net 양식 인증을위한 보안 해시 옵션을 추가합니다. 호환성을 위해 SHA-1은 여전히 ​​기본 옵션입니다. SHA-2는 Message.HashAlgorithm에 대해서도 지원되며, 인증시 메시지 대기열에 사용되는 해시 알고리즘을 지정합니다. 

.Net 4.7.1의 새로운 구성 빌더를 사용하면 개발자가 런타임에 애플리케이션 구성을 삽입하고 빌드 할 수 있습니다. 구성 데이터는 구성 파일 이외의 소스에서 가져올 수 있습니다. 이전 버전의 .Net에서는 구성이 정적입니다. 구성 빌더를 통해 애플리케이션은 사용자 정의 빌더 세트를 구성 섹션에 적용 할 수 있습니다. 빌더는 구성 섹션에 포함 된 구성 데이터를 수정하거나 처음부터 빌드 할 수 있으며 정적 파일이 아닌 소스에서 새 데이터를 가져올 수도 있습니다.

업그레이드의 다른 기능은 다음과 같습니다.

  • 여러 .Net 구현에서 공유하는 API 세트를 특징으로하는 .Net Standard 2.0 사양 지원.
  • 고 대비 향상, 향상된 UI 패턴 및 내레이터와 같은 도구의 향상된 환경을 포함하여 WPF (Windows Presentation Foundation) 및 Windows Forms의 접근성 향상.
  • WPF의 시각적 진단 지원을 통해 XAML 시각적 트리를 분석하기위한 도구를 사용할 수 있습니다.
  • ReadOnlyReferences C # 7.2 언어의 컴파일러 지원으로 변수를 참조로 전달하지만 데이터를 수정에 노출하지 않습니다.
  • 런타임이 특정 기능을 지원하는지 확인하기위한 런타임 기능 감지 API입니다.
  • 직렬화 가능 SystemValueTuple형식 : System.Tuple C # 7.0 및 Visual Basic 15.5의 새로운 튜플 구문으로 쉽게 마이그레이션 할 수 있어야합니다  .
  • HttpCookie문자열에서 개체 를 빌드하고 만료 날짜 및 경로와 같은 쿠키 속성을 캡처 하는 표준화 된 방법을 제공하는 ASP.Net API 입니다.
  • ExecutionStepInvoker개발자가 ASP.Net의 미리 정의 된 파이프 라인이 아닌 코드 내에서 실행 단계를 실행할 수 있도록하는 ASP.Net의 실행 단계 기능입니다 . 이 기능은 애플리케이션 실행 흐름과 관련된 라이브러리를위한 것입니다.