.NET 8의 미리보기 작업 진행중(WIP)인 내용을 확인할 수 있습니다.
2 Likes
What’s new in .NET 8 Preview 2 [WIP] · Issue #8134 · dotnet/core · GitHub
- System.Reflection: 함수 포인터에 대한 인트로스펙션 지원
- System.ComponentModel.DataAnnotations 확장 기능
2 Likes
- dotnet build의 새로운 터미널 로거
- 간소화된 출력 경로 업데이트
.artifacts
을artifacts
로 변경- Directory.Build.prop 생성시 추론 루트 폴터 위치가 변경됨
- GC: 즉시 메모리 제한 기능
- 템플릿 엔진: Nuget.org의 패키지를 통한 안전한 경험 제공
- IUtf8SpanFormattable 도입
- TimeProvider 추상 클래스의 도입으로 단위 테스트 시 시간 모의가 가능해짐
- AVX-512 지원
- Native AOT 개선
dotnet new console --aot
로 빠르게 AOT 프로젝트 시작- Hello World 용량 1.20 MB → 1.07 MB
- 리눅스 배포판 지원
- NuGet: 보안 취약성에 대한 패키지 종속성 검사
- Codegen
- 연속 레지스터 지원 : ProbabilisticMap의 IndexOf에서 VectorTableLookup의 성능이 30% 개선
- 최적화된 ThreadStatic 필드 엑세스 : 인라인 처리로 10배 성능 향상
- System.Text.Json: 읽기 전용 멤버 채우기
6 Likes
1 Like
- DI에 친화적인 메트릭 API 지원
- SourceLink는 이제 .NET SDK의 일부입니다.
- 동적 PGO가 기본적으로 활성화됩니다.
- ASP.NET Alpine 기반 도커 이미지 제공
4 Likes
- DI에 친화적인 메트릭 API 지원
이 부분이요…
커뮤니케이션툴킷 이나 프리즘 을 참조 해야 서비스 받을수 있는거 아니었나요 ?
.NET8 에서는 참조 없이 지원 되는 건가요 ?
1 Like
아직까지는 미리보기가 릴리스 되지 않아 저도 잘 모릅니다 ^^;
1 Like
- SHA-3 지원
- WASM
HybridGlobalization
모드 - LoggerMessageAttribute 생성자 오버로드 확장
- 메트릭 API 변경 :
InstrumentRecorder
에서Microsoft.Extensions.Telemetry.Testing
의MetricCollector
로 변경 - 옵션 유효성 검사 소스 생성기
- COM Interop 소스 생성
- 스트림 기반 ZipFile CreateFromDirectory 및 ExtractToDirectory 메소드 오버로드
- Configuration 바인딩 소스 생성기 개선 : 문제 수정, 알려진 문제
- CodeGen 관련 최적화
- NatvieAOT를 옵트인으로 iOS 계통의 플랫폼 타켓팅 지원
- HTTPS 프록시 지원
2 Likes
- 마지막 미리보기인 .NET 8 미리보기 7입니다. 이후 9월에 RC1, 10월에 RC2에 이어 11월에 정식 릴리스가 출시 예정입니다.
- iOS/tvOS/MacCatalyst 플랫폼의 HybridGlobalization 모드
- HTTPS 프록시 지원
- System.Text.Json 개선
JsonSourceGenerationOptionsAttribute
으로 컴파일 시점에 직렬화 구성 지정 가능Memory<T>
/ReadOnlyMemory<T>
기본 지원Half
,Int128
,UInt128
숫자 유형 기본 지원JsonContructor
및JsonInclude
로 비공개 멤버 확장(사용 가능)IJsonTypeInfoResolver.WithAddedModifier
확장 메소드- JsonNode 추가 기능
- CodeGen
- 구조적 물리 프로모션 개선으로
foreach
를 사용하는 5개 이상의 필드를 가진Dictionary
등에서 미리보기 7에서 물리적 승격이 적용되어 다음과 같은 벤치마크로 성능향상을 확인할 수 있음
- 구조적 물리 프로모션 개선으로
private readonly Dictionary<int, int> _dictionary = new(Enumerable.Range(0, 10000).Select(i => KeyValuePair.Create(i, i)));
[Benchmark]
public int SumDict()
{
int sum = 0;
foreach ((int key, int value) in _dictionary)
{
sum += key;
sum += value;
}
return sum;
}
private readonly List<(int, int)> _list = Enumerable.Range(0, 10000).Select(i => (i, i)).ToList();
[Benchmark]
public int SumList()
{
int sum = 0;
foreach ((int key, int value) in _list)
{
sum += key;
sum += value;
}
return sum;
}
Method | Runtime | Mean | Error | StdDev | Median | Ratio | RatioSD |
---|---|---|---|---|---|---|---|
SumDict | .NET 7.0 | 24.936 us | 0.4918 us | 0.8613 us | 25.350 us | 1.00 | 0.00 |
SumDict | .NET 8.0 preview 7 | 11.027 us | 0.2180 us | 0.4149 us | 11.249 us | 0.44 | 0.01 |
SumList | .NET 7.0 | 15.847 us | 0.3044 us | 0.7582 us | 15.794 us | 1.00 | 0.00 |
SumList | .NET 8.0 preview 7 | 6.038 us | 0.1197 us | 0.2033 us | 6.130 us | 0.39 | 0.02 |
- WPF에서 OpenFolderDialog 사용 가능
- Microsoft.Extensions.Hosting.IHostedLifecycleService
- 더 많은 호스팅된 서비스 단계 사용 가능
- Microsoft.Extensions.DependencyInjection의 키 서비스 지원
- 새로운 ASP.NET Docker 이미지인 컴포지트 이미지 출시
4 Likes
- WASM의 WasmStripILAfterAOT 모드로 약간(1.7% ~ 4.2%)의 사이즈 감소
- 비 윈도우 운영체제에서 윈도우 앱 교차 빌드
- System.Text.Json 개선
- HttpClient에
GetFromJsonAsAsyncEnumerable()
확장 메서드 추가 - trim에 안전한 소스 생성 계약을 이용해서
JsonContent
인스턴스 생성 - 스트림에서
JsonNode
를 만드는ParseAsync()
추가
- HttpClient에
- SDK: 컨테이너 게시에서 Auzre 관리 ID를 지원
- AndroidStripILAfterAOT 모드 추가
- WPF: RDP 하드웨어 가속 지원
2 Likes
- MSBuild: 스크립트나 도구에 더 쉽게 통합할 수 있는 새로운 기능
- 컨테이너: tar.gz 아카이브에 게시
- 텐서 프리미티브 : AI & 머신러닝에서 필요로 하는 수학 함수를 System.Number.Tensors로 제공
5 Likes