|
|
2019-9-28 16:38:47에 게시됨
|
|
|
|

며칠 전, 마이크로소프트는 .NET Core 3.0을 출시했으며, 가장 큰 개선 사항 중 하나는 윈도우 데스크톱 애플리케이션(Windows만 지원)입니다. .NET Core 3.0 SDK Windows 데스크톱 컴포넌트를 사용하면 Windows Forms와 Windows Presentation Foundation(WPF) 애플리케이션을 포팅할 수 있습니다. 명확히 하자면, Windows 데스크톱 구성 요소는 Windows에서만 지원되고 포함되어 있습니다.
SDK 다운로드 주소:하이퍼링크 로그인이 보입니다.
.NET Core 기능 소개 링크:
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.
특징은 다음과 같습니다:
- C#을 사용해 풍부하고 상호작용적인 클라이언트 웹 앱을 만드세요.
- gRPC를 사용해 고성능 백엔드 서비스를 만드세요.
- SignalR은 이제 자동 재연결과 클라이언트-서버 플로우를 지원합니다.
- OpenAPI 문서를 사용해 웹 API용 강력한 타입 클라이언트 코드를 생성하세요.
- 엔드포인트 라우팅은 프레임워크를 통해 통합되어 있습니다.
- Kestrel은 기본적으로 HTTP/2가 활성화되어 있습니다.
- 통합 웹 API 및 단일 페이지 앱 인증 지원.
- 인증서와 Kerberos 인증도 지원합니다.
- 새로운 System.Text.Json 직렬라이저를 통합하세요.
- 새로운 범용 호스팅은 의존성 주입, 구성, 로깅과 같은 공통 관리 서비스를 설정합니다.
- 장기 서비스를 구축하기 위한 새로운 워커 서비스 템플릿.
- 새로운 이벤트 카운터는 초당 요청, 총, 현재, 실패 요청에 대해 생성됩니다.
- IIS에서 호스팅된 시작 오류는 이제 Windows 이벤트 로그에 보고됩니다.
- 파이프라인 통합 요청, System.IO.Pipelines.
- 전체 기술 스택 전반에 걸친 성능 향상.
아래 그림과 같이 VS 2019로 새로운 .NET Core 3.0 콘솔 프로젝트를 만들어봅시다:
Newtonsoft.Json 패키지를 참조하며, 다음과 같이 몇 줄의 코드를 작성하세요:
VS Regenerate를 우클릭한 후 프로젝트의 bin 디렉터리를 열면 :demo1.exe 파일과 Newtonsoft.Json.dll 파일을 포함한 여러 파일이 생성됩니다.
단일 파일 실행 파일을 공개합니다
방법 1:
프로젝트 디렉터리에서 다음 명령을 실행하세요:
C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 폴더를 열면 많은 dll 파일이 생성되고 있고 publish 폴더가 있다는 것을 알 수 있습니다.
게시 폴더로 가세요,뷰잉 demo1.exe의 크기는 66M으로, 폴더 외부의 모든 파일과 동일한 크기입니다, 아래 그림에서 볼 수 있습니다:
생성된 단일 실행 파일은 실제로 프로그램 실행에 필요한 환경을 포함하고 있으며, 대상 컴퓨터가 SDK를 설치할 필요가 없으며, 단점은 파일 크기가 매우 커진다는 점입니다.
방법 2:
프로젝트 파일을 우클릭 vs 편집하여 PublishSingleFile 노드 구성을 추가하세요. 코드는 다음과 같습니다:
그 다음 우클릭해서 "Publish" 버튼을 클릭하세요.
어셈블리 링크
.NET Core 3.0 SDK에는 IL을 분석하고 사용하지 않는 어셈블리를 클리핑하여 앱 크기를 줄일 수 있는 도구가 포함되어 있습니다.
독립형 앱은 메인 컴퓨터에 .NET을 설치하지 않고도 코드를 실행할 수 있는 모든 것을 포함하고 있습니다. 하지만 많은 경우 앱이 프레임워크의 일부만 필요로 하며, 사용하지 않는 다른 라이브러리는 제거할 수 있습니다.
.NET Core에는 이제 IL 링커 도구를 사용해 앱의 IL을 스캔하는 설정이 포함되어 있습니다. 이 도구는 필요한 코드를 감지한 후 사용하지 않는 라이브러리를 잘라냅니다. 이 도구는 일부 애플리케이션의 배포 크기를 크게 줄일 수 있습니다.
이 도구를 활성화하려면 <PublishTrimmed> 프로젝트 내 설정을 사용하고 독립형 앱을 게시하세요:
.NET Core CLI
방금 66M 파일을 생성했고, 설정을 추가한 후,3500만 명이 되어 3천만 명의 점유율이 줄었습니다。
반사나 관련 동적 기능(ASP.NET Core, WPF 포함)을 사용하는 애플리케이션이나 프레임워크를 꼭 고려하세요.보통 절단 중에 손상됩니다。 이 손상은 링커가 이러한 동적 동작을 인지하지 못해 반사에 필요한 프레임 유형을 판단하지 못하기 때문에 발생합니다。 IL 링커 도구는 이 상황을 감지하도록 설정할 수 있습니다.
가장 중요한 것은 자르기 후에 반드시 바르는 것입니다시험 수행。
(끝)
|
이전의:Ajax가 외부 변수에 값을 할당하지 못하는 문제를 해결하세요다음:C 언어는 정말 강력한데, 어떤 언어로 쓰여 있나요?
|