티스토리 뷰
반응형
Micorosft .NET 5 RC1 버전이 발표되었습니다. 이제 .Net Framework와 .Net Core의 통합이 눈앞에 온 것 같습니다. 이 새로운 .NET 5 버전은 2020년 11월 10일 정식 출시 예정입니다.
.NET 5의 목표는 모든 .NET 5 애플리케이션에서 단일 BCL(Base Class Library)를 사용하고, 여러 플랫폼에서 네이티브 및 웹 애플리케이션을 지원하는 통합 .NET SDK 환경을 제공하는 것입니다. 그래서, 단인 .NET 5 애플리케이션 프로젝트를 생성하고 Windows, Microsoft Duo(Android) 및 Apple iOS와 같은 플랫폼을 지원할 것입니다.
Reference
•Announcing .NET 5.0 Preview 8 | .NET Blog (microsoft.com)
•Announcing .NET 5.0 RC 1 | .NET Blog (microsoft.com)
•What’s new in Microsoft .NET 5 | InfoWorld
Download
•Download .NET 5.0 (Linux, macOS, and Windows) (microsoft.com)
- Full version
- 5.0.100-rc.1.20452.10
- Visual Studio support
- Visual Studio 2019 (v16.8, Preview 3)
- 비주얼 스튜디오 Preview에서 테스트를 하기위한 최소 버전입니다.
- Included runtimes
- .NET Runtime 5.0.0-rc.1.20451.14
- ASP.NET Core Runtime 5.0.0-rc.1.20451.14
- .NET Desktop Runtime 5.0.0-rc.1.20451.14
- Language support
- C# 9.0-preview
- F# 5.0-preview
- Visual Basic 15.5
Languages
- C# 9.0
- Top-level programs
- 기존에 console 앱 생성 후에 있던 모든 코드가 필요없습니다. 아래 코드를 삭제하고
-
namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
- 간단하게!!
-
Console.WriteLine("Hello World!");
- 최종적으로 이런 코딩이 가능합니다.
-
using System; using System.Runtime.InteropServices; Console.WriteLine("Hello World!"); FromWhom(); Show.Excitement("Top-level programs can be brief, and can grow as slowly or quickly in complexity as you'd like", 8); void FromWhom() { Console.WriteLine($"From {RuntimeInformation.FrameworkDescription}"); } internal class Show { internal static void Excitement(string message, int levelOf) { Console.Write(message); for (int i = 0; i < levelOf; i++) { Console.Write("!"); } Console.WriteLine(); } }
- Pattern matching
- 값이 특정 모양을 가지고 있는지 테스트하고 일치하는 모양이있을 때 값에서 정보를 추출하는 기능입니다.
-
if (context is {IsReachable: true, Length: > 1 }) { Console.WriteLine(context.Name); }
- Target-typed new expressions
- 객체/값을 생성할 때 유형 중복을 제거하도록 개선되었습니다.
-
List<string> values = new List<string>(); List<string> values = new(); var values = new List<string>();
- Top-level programs
- F# 5.0
- Interpolated Strings
- Open Type Declarations
Tools
- Microsoft.Extensions.Logging
- Implement a custom ConsoleFormatter
- 콘솔 프로바이더를 개선해서 사용자가 지정한 포멧으로 콘솔 출력의 서식 및 색상을 지정할 수 있습니다.
- Dump debugging
- Compile the Linux DAC
- 리눅스 DAC를 컴파일할수 있어서 DAC에 대한 디버깅이 가능합니다.
- Assembly load diagnostics added to event pipe
- 이벤트 파이프에 어셈블리 로드 정보를 추가했습니다.
- Printing environment information
- .NET의 환경 정보를 쉽게 출력할 수 있도록 Tool을 추가했습니다.
- dotnet tool install –g dotnet-runtimeinfo
- dotnet-runtimeinfo
Library APIs
- Nullable Annotations
- The platform is now 80% annotated for nullability
- null 허용 여부에 대한 주석을 전체 80% 정도 추가했으며, 정식버전 출시전까지 나머지도 추가할 예정입니다.
- Regular expression performance improvements
- 정규식 엔진의 성능을 개선했습니다.
- .NET 5.0 Target Framework
- net5.0 is the new Target Framework Moniker (TFM) for .NET 5.0.
- 타겟 플렛폼으로 .NET 5를 사용할 수 있습니다.
- net5.0 combines and replaces netcoreapp and netstandard TFMs.
- core와 netstandard를 통합하고 대체합니다.
- net5.0 supports .NET Framework compatibility mode
- .NET Framework 호환모드를 지원합니다.
- net5.0-windows will be used to expose Windows-specific functionality, like Windows Forms and WPF.
- net5.0-windows는 윈폼 및 WPF에서 윈도우 기능을 이용하기 위해 사용됩니다.
- NET 6.0 will use the same approach, with net6.0 and will add net6.0-ios and net6.0-android.
- The OS-specific TFMs can include OS version numbers, like net6.0-ios14.
- OS별 타겟 플렛폼은 OS 버전 번호가 포함될 수 있습니다.
- Portable APIs, like ASP.NET Core and Xamarin.Forms, will be usable with net5.0.
- 포터블 API들은 net5.0에서 사용할 수 있습니다.
- WinRT Interop(Breaking Change)
- New model for supporting WinRT APIs as part of .NET 5.0
- WinRT API를 새로운 모델로 만들어서 .NET 5.0에 포함시겼습니다.
- It can be developed and improved separate from the .NET runtime.
- .NET 런타임과 별도로 개발 및 개선이 가능합니다.
- Symmetrical with interop systems provided for other OSes, like iOS and Android.
- iOS 및 Android와 같은 다른 OS에 제공되는 interop 시스템과 대칭이 되도록 구성했습니다.
- Can take advantage of many other .NET features (AOT, C# features, IL linking).
- 다른 많은 .NET 기능을 활용할 수 있습니다.
- Simplifies the .NET runtime codebase.
Runtime Technology
- Windows ARM64
- Support for Windows ARM64 as part of this release
- Windows ARM64에 대한 지원을 추가했습니다.
- Decision to delay the Windows Desktop component(Windows Forms, WPF)
- 하지만, 윈폼과 WPF 등의 윈도우 데스크탑 컴포넌트에 대한 지원은 지연되었습니다.
- Event pipe profiler APIs
- 프로파일러가 이벤트 파이프 이벤트를 작성할 수 있도록 확장되었습니다.
- Native exports
- Export managed methods to native code
- 관리되는 메서드를 네이티브 코드로 내보낼 수 있습니다.
- Unmanaged Exports
- DllExport
Application deployment
- Single file applications
- Published and deployed as a single file
- 단일 파일로 게시 및 배포를 할 수 잇습니다.
- The app and its dependencies are all included within that file
- 앱과 종속성 파일들을 모두 포함 합니다.
- Single file apps are primarily focused on Linux
- 다일 파일 앱은 주로 리눅스 배포에 중점을 두고 있습니다.
- Framework-dependent single-file app:
- dotnet publish -r linux-x64 --self-contained false /p:PublishSingleFile=true
- Self-contained single-file app with assembly trimming and ready to run enabled:
- dotnet publish -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true /p:PublishReadyToRun=true
- Reducing the size of container images
- .NET 컨테이너 이미지의 크기를 줄였습니다.
- ClickOnce Support
- Deliver it as part of RC2
- 닷넷 코어에서 클릭원스를 지원하기 위한 개발을 진행 중에 있습니다.
더 자세한 사항은 러퍼런스를 클릭해서 확인하시면 될 것 같습니다.
반응형
'Visual Studio' 카테고리의 다른 글
What's New in Visual Studio 2019 version 16.8 (0) | 2020.11.26 |
---|---|
Welcome to C# 9.0 (0) | 2020.11.24 |
What's new in ML.NET (0) | 2020.06.17 |
Modernizing .NET Desktop Applications with .NET Core (0) | 2019.10.07 |
What's New In C# 8.0 Part 2 (0) | 2019.09.30 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- visual studio 2019
- Always Encrypted
- ef core
- MVVM
- IOT
- Visual Studio 2022
- Bot Framework
- #prism
- #Windows Template Studio
- #uwp
- uno platform
- kiosk
- XAML
- .net 5.0
- windows 11
- WPF
- LINQ
- .net
- #MVVM
- Microsoft
- Windows 10
- PRISM
- Behavior
- UWP
- Cross-platform
- ComboBox
- uno-platform
- Build 2016
- dotNETconf
- C#
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함