.NET 10 Preview 6 is now available! - .NET Blog

닷넷 10 프리뷰 6가 출시되었습니다. 몇 가지 특징 적인 것을 짚어보면 다음이 눈에 띕니다.

7개의 좋아요

dnx라고 하니까 생각나는게 아주 오래 전(?) ASP.NET 5의 런타임 명령어가 dnx였죠. 저는 그때의 기억이 없긴 합니다만은.

1개의 좋아요

양자 내성 암호화라니… 무섭네요

1개의 좋아요

혹시 참조하는 #:package 혹은 #:projectSourceGenerator 라이브러리인경우 어떤식으로 처리되는지? 어떻게 표기해야하는지? 에 대한 내용 없을까요?

NativeAot 가 디폴트로 배포되게할셈이라면 소스생성기또한 준필수적이게 될텐데 이슈라던가 아무런 언급도 찾아볼수가 없네요… devblog답변대기중

1개의 좋아요

릴리즈 노트에 언급된 코드보다 좀 더 간소화된 형태로 스크립트 파일의 특성을 살려본 코드를 공유합니다. 단 이 방법의 경우, CallerFilePathAttribute를 쓰기 때문에 파일 경로가 하드코딩되는 문제가 있어 독립적인 바이너리로 배포하는 경우에는 Environment.CurrentDirectory 등의 속성으로 대체해야 하는 한계가 있습니다.

#!/usr/bin/env dotnet

await Console.Out.WriteLineAsync($"Hello, World! from {GetFilePath()}, {GetDirectoryPath()}");

// 아래 스크립트는 File-based App으로 실행할 때에만 올바르게 작동합니다.
#pragma warning disable 8321
static string GetFilePath([System.Runtime.CompilerServices.CallerFilePath] string s = "") => s;
static string? GetDirectoryPath() => Path.GetDirectoryName(GetFilePath());
#pragma warning restore 8321

그리고 .cs 확장자를 안붙여도 일반 셸 스크립트처럼 쓸 수 있는건 큰 매력인 것 같습니다. ㅎㅎ 다만 일반 셸 스크립트랑 다르게 빌드 과정이 화면에 최초 한 번은 나타나고, 파일 이름이나 경로가 바뀔 때마다 다시 빌드가 일어나는 부분은 명확한 한계점인 것 같습니다. (File-based App 자체는 DLR 기반의 스크립트가 아니므로)

1개의 좋아요