! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

응용 프로그램을 .NET 5에 이식할 수 있는지 여부를 테스트하는 방법 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

응용 프로그램을 .NET 5에 이식할 수 있는지 여부를 테스트하는 방법

페이지 정보

작성자 GrapeCity 작성일 2021-04-09 15:10 조회 3,351회 댓글 0건

본문

.NET 5에 대해, 그리고 .NET 5가 .NET Windows 응용 프로그램에 제공하는 모든 이점에 대해 들어보셨을 것입니다. 하지만 .NET 5에 대한 응용 프로그램의 이식 가능성이 얼마나 되는지 알고 계십니까?

Microsoft는 .NET 이식성 분석기와 Try-Convert 도구와 같이 마이그레이션을 지원하는 몇 가지 도구를 발표했습니다. 분석기는 지원되는 라이브러리와 지원되지 않는 라이브러리가 무엇인지에 관한 보고서를 생성하고, Try-Convert 도구는 프로젝트 파일을 실제로 변환합니다.

이 블로그에서는 .NET 이식성 분석기에 대해 설명하고, GrapeCity와 유사한 타사 컴포넌트가 상황에 얼마나 잘 들어맞는지 설명합니다.


.NET 이식성 분석기 사용법

지원되지 않는 라이브러리 참조와 같이 잠재적인 문제가 프로젝트에 있는 경우 이 분석기를 통해 해당 문제를 파악할 수 있습니다. 이 분석기는 응용 프로그램을 .NET Core 또는 .NET 5로 이식할 경우 응용 프로그램이 사용하는 API 중에서 어떤 것이 지원되지 않는지에 관한 상세 보고서를 제공합니다.

이식성 분석기


시작하려면 다음과 같이 하십시오.

1. Visual Studio Marketplace(확장 | 확장 관리 메뉴)에서 확장을 다운로드합니다.
2. Visual Studio를 종료한 후 다시 열어 확장(VSIX)이 완전히 설치되게 합니다.
3. 도구 | 옵션 > .NET 이식성 분석기 메뉴에서 설정을 찾습니다.
4. 설정에서 대상 .NET 버전과 보고서 형식(.html, xlsx, .json)을 선택할 수 있습니다. HTML 보고서는 읽기는 더 쉽지만 Excel 보고서에는 더 자세한 정보가 들어 있습니다. 그렇다면 둘 다 생성하면 되지 않을까요?

일반 설정

5. Visual Studio에 열려 있는 프로젝트를 분석하려면 Solution Explorer에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 이식성 분석을 선택합니다.
6. 분석기가 분석을 마치면 생성된 보고서와 함께 팝업이 뜹니다.

사용 가능한 보고서

이제 HTML 보고서를 분석해 보겠습니다.

이식성 보고서

보시다시피 보고서에 따르면 이 응용 프로그램을 .NET 5로 약 91% 이식할 수 있습니다. 보고서에는 .NET Core 및 .NET 5 + 플랫폼 확장이 선택 여부와 관계없이 포함된 것으로 보입니다. 보고서를 더 살펴보면 어떤 API가 지원되지 않는지 알 수 있습니다.

API 지원


이 샘플 응용 프로그램은 System.Data.OleDb와 System.Windows.Forms.Toolbar라는 문제가 있는 두 가지 API를 사용합니다. 이 응용 프로그램을 .NET 5로 이식하려면 이 두 API를 교체해야 하고, 아마도 코드를 다시 작성해야 할 것입니다. 온라인에서 해결책을 검색한 결과, 저는 다음과 같은 제안 사항을 발견하였습니다.

  • System.Data.OleDb - 일반적으로 응용 프로그램은 SQL Server에 연결하기 위해 이 어셈블리를 참조했습니다. .NET 5의 경우 Microsoft는 nuget.org에서 이 패키지를 별도로 제공합니다. 하지만 여기서 선호되는 마이그레이션 솔루션은 SqlClient로 전환하는 것입니다. 기능 손실이 있으면 안 되지만 일부 코드를 다시 작성해야 합니다.

  • System.Windows.Forms.Toolbar - 기본 Windows 도구 모음과 이에 연결된 모든 기능이 .NET 5에서 지원되지 않습니다. 하지만 도구 모음이 왜 지원되지 않는지 의아해하실 수 있습니다. 분명히 Microsoft는 어느 시점에 Toolbar를 ToolStrip으로 교체하였습니다. ContextMenu, DataGrid와 같은 다른 일반적인 컨트롤을 포함해 더 새로운 버전으로 교체된 컨트롤의 전체 목록을 여기서 보실 수 있습니다.

이러한 문제는 별도로 제공되는 새 패키지 또는 컨트롤을 이용해 둘 다 쉽게 해결할 수 있으므로 보고서의 .NET 5 + Platform Extensions 열을 보시면 이 응용 프로그램의 이식성이 100%임을 알 수 있습니다.

이제 다 끝났습니다! 문제가 있는 모든 API를 교체할 적합한 대안을 찾을 수 있다면 응용 프로그램을 언제든지 .NET 5로 마이그레이션할 수 있습니다. 단, 타사 라이브러리는 .NET 이식성 분석기에 표시되지 않습니다.

Excel 보고서를 보시면 타사 라이브러리는 “확인되지 않는 어셈블리” 아래에 나열되어 있음을 알 수 있습니다. 타사 라이브러리의 경우 즉시 사용할 수 있는 .NET 5 지원 버전이 있는지 알아보려면 공급업체를 확인해야 합니다. .NET 5 지원 버전이 있다면 이식 가능한 것으로 간주할 수 있습니다. 그렇지 않다면 대안을 찾아야 합니다.


.NET 5 응용 프로그램에서 .NET Framework 라이브러리 사용

많은 경우 .NET 5 응용 프로그램에서 .NET Framework 이전 버전을 계속 사용할 수 있다는 사실을 기억하십시오. 한 가지 불리한 점은 최종 사용자의 경우 자체 시스템에 .NET Framework가 설치되어 있어야 한다는 것입니다. .NET 5의 이점 중 하나는 이제 응용 프로그램에서 .NET 전체를 패키징할 수 있으므로 이러한 필수 구성 요소가 필요 없다는 것입니다. 하지만 응용 프로그램 어디에서든 .NET Framework 라이브러리를 사용 중이라면 이것은 불가능합니다.

두 번째로 이때 .NET 5 디자이너에서 .NET Framework 컴포넌트를 사용하는 것과 관련된 문제가 여전히 있습니다. 전체 디자인 타임이 필요한 경우 문제를 해결하는 한 가지 방법은 .NET Framework 프로젝트를 .NET 5 솔루션에 추가하고 응용 프로그램에서 어떤 양식으로든 링크하는 것입니다. 프레임워크 프로젝트에서 링크된 양식을 열면 기능이 완비된 디자이너를 사용하고 .NET 5 프로젝트를 계속 빌드하고 실행할 수 있습니다.


ComponentOne 컨트롤의 이식성

GrapeCity의 .NET 4.5.2 WinForms 및 WPF 샘플 중 하나를 실행하려고 하면 .NET Core 및 .NET 5를 지원하도록 당사가 이 샘플을 이미 업데이트하였으므로 100% 이식 가능해질 것입니다. 위에서는 설명을 위해 .NET 4.0 컨트롤을 사용한 이전 샘플 프로젝트를 선택하여 더 흥미로운 결과를 얻었습니다. 하지만 이 블로그에 글이 게시된 시점에는 아직은 모든 컨트롤을 .NET 5로 이식하지 않은 상태였습니다.

GrapeCity는 더 인기 있는 컨트롤 목록을 먼저 처리하여 2021년 말까지 컨트롤 이식을 완료할 계획입니다. 최신 .NET 5 릴리스 블로그에서 컨트롤의 최신 목록을 보거나 여기에서 ComponentOne .NET 5 로드맵을 확인하실 수 있습니다.

다시 말씀드리지만 타사 컨트롤의 이식성의 경우, 공급업체에 따라 컨트롤 또는 라이브러리가 제공되고 .NET 5를 지원하면 이식 가능한 것으로 간주하십시오.


.NET 이식성 분석기 요약

.NET 이식성 분석기를 통해 응용 프로그램의 이식성이 얼마나 되는지 대략 파악할 수 있습니다. 이 도구를 사용해 응용 프로그램이 마이그레이션하기에 적합한지 여부를 확인할 수 있습니다. 보고서의 목록에서 마이그레이션되지 않을 각 항목을 조사하여 문제가 있는지 파악하고, 다른 라이브러리를 통해 지원되는지 여부를 조사할 수 있습니다.

몇 가지 마이그레이션 팁을 드리는 것으로 이 문서를 마무리하겠습니다. 솔루션에 여러 개의 프로젝트가 있다면 하나씩 분석하셔야 합니다. 상향식 접근 방식을 따르면 더 수월합니다. 의존성이 덜한 프로젝트를 먼저 .NET 5로 마이그레이션한 다음, 해당 프로젝트에 의존하는 나머지 프로젝트를 마이그레이션해야 합니다. UI에 의존하지 않는 프로젝트는 .NET Core 또는 .NET Standard로 이식되어야 합니다.


관련 영상: .NET FrameWork에서 .NET 5로 마이그레이션하는 방법

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.