다음을 통해 공유


Visual Studio에서 앱 연결

이 문서에서는 Visual Studio 2022를 사용하여 App Attach 준비 패키지를 만들고 Azure Virtual Desktop에 게시하는 방법을 설명합니다.

앱 연결이란?

MSIX 앱 연결은 MSIX 애플리케이션을 물리적 컴퓨터와 가상 머신 모두에 제공하는 방법입니다. 그러나 MSIX 앱 연결은 특히 Azure Virtual Desktop과 같은 지원되는 제품에 대해 만들어지므로 일반 MSIX와 다릅니다.

앱 연결 이유

기업은 다음을 위해 App Attach를 선호합니다.

  1. 더 쉬운 Windows 이미지 관리
  2. 유지 관리 비용 절감 및 보안 향상을 포함한 앱 관리 효율성 향상

스트리밍된 앱의 데이터는 사용자와 함께 로밍됩니다. 이렇게 하면 어디서나 앱을 즉시 실행하고 환경을 계속 진행할 수 있습니다.

로컬 앱 연결을 사용하면 디바이스에 설치하지 않고 MSIX 애플리케이션을 실행할 수 있습니다. 로컬 앱 연결에 전원을 공급하는 API는 Windows 11 Enterprise 및 Windows 10 Enterprise에서 완전히 지원되며, 애플리케이션을 탑재하고 분리하기 위해 OS에 구워집니다. PowerShell cmdlet 또는 스크립트를 사용하여 프로세스를 자동화할 수도 있습니다.

필수 구성 요소 단계

  • Visual Studio 2022를 다운로드하여 설치 합니다.
  • C#용 Visual Studio를 설치합니다.
  • Visual Studio에서 다음을 통해 'Azure 개발' 워크로드를 구성합니다.
    • Visual Studio 설치 관리자 열기
    • 수정 클릭
    • Azure 개발선택되어 있는지 확인
    • 아래쪽에서 수정 을 클릭하여 업데이트를 시작합니다.

Visual Studio 확장

  • 작동하는 Azure Virtual Desktop 배포 Azure Virtual Desktop(클래식)을 배포하는 방법을 알아보려면 Azure Virtual Desktop에서 테넌트 만들기를 참조하세요. Azure Resource Manager 통합을 사용하여 Azure Virtual Desktop을 배포하는 방법을 알아보려면 Azure Portal을 사용하여 호스트 풀 만들기를 참조하세요.

  • 여기로 가거나 "앱 연결 도구 키트"를 검색하여 Visual Studio Marketplace에서 확장을 가져옵니다.

  • 위에서 다운로드한 파일을 두 번 클릭하여 Visual Studio에 확장을 설치합니다.

스크린샷 2023-10-11 180059

  • 시스템이 인터넷에 연결되어 있는지 확인합니다.

참고 항목

이 확장은 Visual Studio 2022와만 호환됩니다.

확장 사용

Visual Studio 2022에 확장이 설치되면

  1. 마우스 오른쪽 단추를 클릭하고 '관리자 권한으로 실행'을 선택하여 상승 모드에서 Visual Studio를 시작합니다.
  2. Windows 앱 SDK 함께 제공되는 빈 앱 패키지(데스크톱의 WinUI 3) Visual Studio 프로젝트 템플릿을 사용하여 WinUI 3 C# 또는 C++ 데스크톱 앱을 만듭니다.

스크린샷 2023-05-30 165600

참고 항목

MSIX 이미지 만들기 프로세스는 이 시점에서 WinUI3 앱에 대해서만 지원됩니다.

  1. 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 패키지 및 게시 ->앱 연결 패키지 만들기를 선택합니다.

스크린샷 2023-05-30 165836

  1. 이제 MSIX 패키지 및 VHDx 파일의 출력 위치를 선택하고 선택한 플랫폼을 선택하여 패키지를 구성할 수 있습니다.
  2. MSIX 패키지를 최종 사용자의 머신에 설치하려면 머신에서 신뢰할 수 있는 인증서로 서명해야 합니다. 로컬 인증서 저장소에서 인증서를 선택하거나, 인증서 파일을 선택하거나, 새 인증서를 만들 수 있습니다. 여기에서 앱 패키지에 서명하는 방법을 알아봅니다.

스크린샷 2023-10-11 181102

확장 기능

이 확장을 통해 개발자는 앱 연결 준비 패키지를 만들거나, 앱 연결을 로컬로 테스트하거나, Visual Studio에서 직접 AVD 호스트 풀에 게시할 수 있습니다.

적절한 옵션을 선택하고 계속 진행해야 합니다.

사용자의 이미지

디스크 이미지만 만들기

이렇게 하면 앱의 앱 연결 준비 디스크 이미지가 만들어지지만 아무 곳에도 게시하지 않습니다. 다른 곳에서 수동으로 전송하거나 게시하는 데 사용할 수 있습니다. 지정된 출력 폴더 경로로 이동하여 이미지에 액세스할 수 있습니다.

로컬 앱 연결

그러면 앱 연결 준비 패키지가 만들어지고 테스트 및 문제 해결을 위해 로컬로 게시됩니다.

테스트를 위해 AVD 호스트에 연결하는 작업을 절약할 수 있습니다. 사용자는 앱을 설치하고 테스트 후 디스크를 배출할 수 있습니다.

AZURE(AVD) 앱 연결

그러면 앱 연결 준비 패키지가 만들어지고 AVD 호스트 풀에 게시됩니다.

  1. Azure Virtual Desktop에 앱 연결 패키지를 게시하려면 Azure 옵션을 선택합니다.

참고 항목

이 확장은 기존 Azure 리소스에만 게시할 수 있습니다.

  1. 다음 값을 선택합니다.
  • 구독 ID – 배포에 사용할 Azure 구독을 선택합니다.
  • 리소스 그룹 – 드롭다운을 사용하여 기존 리소스 그룹 이름을 선택합니다.
  • 스토리지 계정 – 배포된 파일 공유가 있는 스토리지 계정 이름을 선택합니다.
  • 파일 공유 – 패키지가 저장될 Azure Virtual Desktop 배포에서 파일 공유를 선택합니다.
  • 애플리케이션 그룹 – 앱을 게시할 애플리케이션 그룹을 선택합니다.
  • 작업 영역 – 애플리케이션 그룹을 할당할 작업 영역의 이름을 선택합니다.
  • 호스트 풀 – 애플리케이션 그룹의 호스트 풀 이름을 선택합니다.

스크린샷 2023-10-11 182632

  1. 게시를 클릭하여 위의 Azure Virtual Desktop 배포에 패키지를 게시합니다.

FAQ(질문과 대답)

Q1: 로컬 앱 연결에서 스테이징이 실패하여 오류가 표시되는 이유는 무엇인가요?
A1: 준비 실패의 주된 이유는 컴퓨터에서 MSIX에 필요한 종속성이 없기 때문입니다. 이 문제를 해결하려면 진행하는 데 필요한 특정 종속성에 대한 자세한 정보를 제공하는 앱 연결 로그를 주의 깊게 검토합니다.

Q2: Azure Virtual Desktop: 앱 연결 확인에 성공하지만 앱이 시작되지 않음
A2: 여기서 주요 문제는 Azure Virtual Machine에 MSIX 종속성이 없다는 것입니다. 이 문제를 해결하려면 App Attach 로그에서 필요한 종속성을 식별하고 지정된 VM에 설치되어 있는지 확인합니다.

Q3: 오류: 파일 공유 위치에서 가상 디스크를 <찾을 수 없나요>?
A3: 이 오류는 일반적으로 파일 공유와 모든 VM의 연결이 끊어진 경우에 발생합니다. 이 문제를 해결하려면 할당된 VM에 로그인하고 관련 파일 공유가 VM에 연결되어 있는지 확인합니다. 그 후 VHDx 파일을 성공적으로 탑재하고 분리할 수 있어야 합니다.

Q4: 여러 계정을 통해 Visual Studio에 로그인했는데 AVD 앱 연결에 대해 어떤 계정을 선택해야 하나요?
A4: AVD 앱 연결의 경우 AVD 관리 사용자만 Visual Studio에 로그인되어 있는지 확인합니다. 확장 메뉴를 시작하기 전에 다른 계정을 제거합니다. 또한 자격 증명이 만료된 경우 Visual Studio에 다시 로그인합니다.

Q5: 확장에서 내 솔루션을 수정하나요?
A5: 예, 확장은 솔루션의 루트 수준에서 AppAttachPackages 폴더 및 appattach.config 파일을 만듭니다. AppAttachPackages 폴더에는 MSIX 및 VHDx 아티팩트가 포함되어 있지만 appattach.config 파일은 앱 연결 프로세스에 중요한 애플리케이션 메타데이터를 보유합니다. 이러한 항목은 무시해도 됩니다.

Q6: 확장을 사용하여 AVD에 애플리케이션 아티팩트 다시 게시할 수 있나요?
A6: 아니요, 이 기능은 현재 지원되지 않습니다. 그러나 버전을 늘리고 다시 게시를 시도할 수 있습니다. 이렇게 하면 원격 데스크톱 애플리케이션에서 두 개의 고유한 앱이 생성됩니다. 또한 Azure Portal을 통해 호스트 풀 -> MSIX 패키지 섹션에서 이전 버전을 비활성으로 표시할 수 있습니다.

Q7: 로컬로 연결된 애플리케이션을 어떻게 할까요? 제거하시겠습니까?
A7: 검색 창에서 앱을 마우스 오른쪽 단추로 클릭하고 제거를 선택합니다. 또한 이 PC에 추가된 새 드라이브를 내보낼 수 있습니다. 포괄적인 제거를 위해 관리자 모드에서 PowerShell을 시작하고 다음 명령을 실행합니다.

$msixPackageFullName = <msixPackageFullName> 
Remove-AppxPackage $msixPackageFullName -PreserveRoamableApplicationData 

Q8: 내 프로세스는 실행 중에 시간 초과됩니다.
A8: 에서 appattach.configProcessTimeOut> 태그를 <찾아 시간 제한 값을 늘입니다. 기본값은 600초(10분)이며 요구 사항에 따라 조정할 수 있습니다.

참고 항목