다음을 통해 공유


클래스 라이브러리 프로젝트 만들기

ViewModels 및 서비스의 단위 테스트를 사용하도록 설정하려면 별도의 클래스 라이브러리 프로젝트를 만듭니다. WinUI 단위 테스트 프로젝트는 WinUI 앱 프로젝트를 직접 참조할 수 없으므로 이 프로젝트가 필요합니다.

WinUI 클래스 라이브러리 템플릿 이해

WinUI 클래스 라이브러리 프로젝트 템플릿은 WinUI 3 데스크톱 애플리케이션에서 사용하도록 특별히 설계된 .NET DLL(관리 클래스 라이브러리)을 만듭니다. 이 템플릿은 Windows 앱 SDK의 일부이며 표준 .NET 클래스 라이브러리에 포함되지 않은 중요한 기능을 제공합니다.

.NET 클래스 라이브러리의 주요 차이점

WinUI 클래스 라이브러리 템플릿은 다음과 같은 몇 가지 중요한 방법으로 표준 .NET 클래스 라이브러리와 다릅니다.

  • Windows 관련 대상 지정: 플랫폼 간 .NET 프레임워크가 아닌 Windows 관련 프레임워크(예 net8.0-windows10.0.19041.0: )를 대상으로 하여 Windows API에 대한 액세스 권한을 부여합니다.
  • Windows 앱 SDK 통합: WinUI 3 및 Microsoft.WindowsAppSDK Windows 앱 SDK API에 대한 액세스를 제공하는 NuGet 패키지에 대한 참조 Microsoft.Windows.SDK.BuildTools 를 포함합니다.
  • WinUI 지원 사용: 프로젝트에는 WinUI 관련 빌드 작업 및 XAML 컴파일을 사용하도록 설정하는 구성이 포함 <UseWinUI>true</UseWinUI> 됩니다.
  • Windows 런타임 식별자: Windows 관련 런타임 식별자(win-x86, win-x64, win-arm64)에 대해 구성됩니다.

WinUI 클래스 라이브러리를 사용하는 이유는 무엇인가요?

라이브러리에서 다음을 수행해야 하는 경우 일반 .NET 클래스 라이브러리 대신 WinUI 클래스 라이브러리 템플릿을 사용합니다.

  • WinUI 3 형식 및 컨트롤 참조: WinUI 클래스 라이브러리 템플릿을 사용하면 네임스페이스 및 기타 Windows 앱 SDK API의 형식 Microsoft.UI.Xaml 을 라이브러리 코드에서 사용할 수 있습니다.
  • XAML 리소스 포함: 라이브러리에 UserControls, 사용자 지정 컨트롤 또는 기타 XAML 리소스가 포함된 경우 이러한 리소스를 제대로 컴파일하고 패키지하려면 WinUI 클래스 라이브러리 템플릿이 필요합니다.
  • WinUI 앱과 통합: 템플릿은 WinUI 3 데스크톱 앱과 원활하게 작동하도록 구성되어 Windows 앱 SDK 런타임 및 배포 모델과의 호환성을 보장합니다.
  • XAML 태그 컴파일 지원: 템플릿에는 XAML 파일을 라이브러리로 컴파일하는 데 필요한 빌드 작업이 포함됩니다.

일반 .NET 클래스 라이브러리를 사용하는 경우

라이브러리를 다음과 같이 사용할 경우 표준 .NET 클래스 라이브러리 프로젝트를 사용하십시오.

  • 순수 .NET 코드(ViewModels, 모델, 서비스, 유틸리티)만 포함합니다.
  • WinUI 3 또는 Windows 앱 SDK 형식을 참조하지 않음
  • XAML 파일 또는 UI 관련 코드는 포함하지 않습니다.
  • WinUI 앱뿐만 아니라 다양한 애플리케이션 유형에서 공유해야 합니다.
  • 여러 플랫폼(예: .NET MAUI 또는 ASP.NET Core) 또는 운영 체제(예: Linux 또는 macOS)를 대상으로 합니다.

솔루션에 .NET 클래스 라이브러리를 추가하는 방법에 대한 자습서는 Visual Studio에서 C# 콘솔 앱 확장 및 디버그를 참조하세요.

이 자습서에서는 나중에 필요한 경우 WinUI 형식을 참조할 수 있고 WinUI 3 애플리케이션과 통합하도록 특별히 설계되었기 때문에 WinUI 클래스 라이브러리 템플릿을 사용합니다. ViewModels 및 서비스에는 현재 WinUI 유형이 필요하지 않지만 이 템플릿을 사용하면 유연성이 제공되고 Windows 앱 SDK 환경과 적절한 통합이 보장됩니다.

WinUINotes.Bus 프로젝트 만들기

ViewModels, 모델 및 서비스를 WinUI 앱 프로젝트와 동일한 솔루션에 보관하도록 명명된 WinUINotes.Bus 새 WinUI 클래스 라이브러리 프로젝트를 만듭니다.

  1. Visual Studio에서 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭합니다.

  2. 새 프로젝트>...를 선택합니다.

  3. WinUI 클래스 라이브러리 템플릿을 선택하고 다음을 선택합니다.

    비고

    WinUI 클래스 라이브러리를 선택하고 단순한 클래스 라이브러리는 선택하지 않도록 하십시오. WinUI 클래스 라이브러리 템플릿에는 Windows 앱 SDK 및 WinUI 3 프레임워크에 대한 참조가 포함되어 있습니다.

  4. 프로젝트 WinUINotes.Bus 이름을 지정하고 선택한 다음,만들기를 선택합니다.

  5. 기본 Class1.cs 파일을 삭제합니다.

프로젝트 참조 추가

프로젝트 참조를 사용하면 WinUI 앱 프로젝트에서 클래스 라이브러리 프로젝트에 정의된 ViewModels 및 서비스를 사용할 수 있습니다.

  1. WinUINotes 프로젝트를 마우스 오른쪽 단추로 클릭하고프로젝트 참조>...를 선택합니다.
  2. WinUINotes.Bus 프로젝트를 선택하고 확인을 선택합니다.

Bus 프로젝트에는 ViewModels, 모델 및 서비스가 포함되어 있으므로 UI 계층과 독립적으로 테스트할 수 있습니다.

비고

"Bus"라는 용어는 통신 계층 또는 중개자 역할을 하는 프로젝트를 나타냅니다. 여기에는 프레젠테이션 논리(ViewModels), 비즈니스 논리(모델) 및 UI와 독립적으로 공유하고 테스트할 수 있는 서비스가 포함됩니다.