WPF/WinForms 시작
중요
Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.
App Center SDK는 모든 서비스를 사용할 수 있도록 모듈식 아키텍처를 사용합니다.
앱에서 App Center 분석 및 App Center 크래시를 사용하도록 App Center SDK 설정을 시작하겠습니다.
1. 사전 요구 사항
시작하기 전에 다음 필수 조건을 충족시키는지 확인합니다.
- 프로젝트는 .NET Framework 4.6.2 이상 또는 .NET Core 3.1 이상을 대상으로 합니다.
- .NET Core는 WPF/WinForms 애플리케이션이 Windows에서 실행되는 경우에만 지원됩니다.
- 이식 가능한 라이브러리에서 SDK를 사용하는 경우 .NET 표준 2.0 이상을 대상으로 해야 합니다(PCL은 지원되지 않음).
- PackageReference 프로젝트 형식입니다. 이 요구 사항은 라이브러리에서
SQLitePCL.raw
제공됩니다. 자세한 내용은 을 참조하세요 https://github.com/ericsink/SQLitePCL.raw/issues/537. - SDK를 VSTO 프로젝트에 통합할 때 알려진 문제가 있습니다. 자세한 내용은 https://github.com/microsoft/appcenter-sdk-dotnet/issues/1583/를 참조하세요.
2. App Center 포털에서 앱을 만들어 앱 비밀을 가져옵니다.
App Center 포털에서 앱을 이미 만든 경우 이 단계를 건너뛸 수 있습니다.
- 등록하거나 로그인하고 포털의 오른쪽 위 모서리에 있는 파란색 단추를 누르면 새로 추가 라는 내용이 표시되고 드롭다운 메뉴에서 새 앱 추가 를 선택합니다.
- 앱의 이름 및 선택적 설명을 입력합니다.
- 위에서 설명한 대로 프로젝트에 따라 적절한 OS 및 플랫폼을 선택합니다.
- 오른쪽 아래에 새 앱 추가라는 단추를 누릅니다.
앱을 만든 후에는 App Center 포털의 설정 페이지에서 앱 비밀을 가져올 수 있습니다. 설정 페이지의 오른쪽 위 모서리에서 세로 세로 점을 클릭하고 을 선택하여 Copy app secret
앱 비밀을 가져옵니다.
3. App Center SDK 모듈 추가
App Center SDK는 Visual Studio 또는 패키지 관리자 콘솔을 사용하여 통합할 수 있습니다.
참고
App Center SDK는 강력한 이름의 기호를 사용하는 애플리케이션과의 호환성을 위해 강력한 이름의 어셈블리 를 사용합니다.
Visual Studio
- Visual Studio를 엽니다.
- 파일>열기를 클릭하고 솔루션을 선택합니다.
- 솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다.
- 찾아보기 탭에서 App Center를 검색하고 Microsoft.AppCenter.Analytics 및 Microsoft.AppCenter.Crashes 패키지를 설치합니다.
패키지 관리자 콘솔
- Visual Studio에서 콘솔을 엽니다. 이렇게 하려면 도구>NuGet 패키지 관리자 패키지 관리자>콘솔을 선택합니다.
- 다음 명령을 입력합니다.
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
참고
이식 가능한 프로젝트에서 App Center SDK를 사용하는 경우 이식 가능한 프로젝트와 WPF/WinForms 앱을 실행하는 프로젝트 등 각 프로젝트에 패키지를 설치해야 합니다. 이렇게 하려면 각 하위 프로젝트를 열고 Visual Studio 섹션에 설명된 해당 단계를 따라야 합니다.
4. SDK 시작
App Center를 사용하려면 사용하려는 모듈을 옵트인합니다. 기본적으로 모듈은 시작되지 않으며 SDK를 시작할 때 각 모듈을 명시적으로 호출해야 합니다.
4.1 메서드 추가 Start()
WPF
WPF 애플리케이션의 경우 을 App.xaml.cs
수정하고 다음 using 문을 추가합니다.
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
그런 다음, 동일한 파일에서 메서드에 OnStartup
다음 코드를 추가합니다.
AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));
App.xaml.cs
파일에 메서드가 없는 경우 메서드를 OnStartup
Application.OnStartup(StartupEventArgs)
추가할 수 있습니다. 파일은 App.xaml.cs
다음과 같이 표시됩니다.
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));
}
}
}
경고
소스 코드에 앱 비밀을 포함하지 않는 것이 좋습니다.
App Center 서비스를 별도로 시작해야 하는 경우 다음을 수행해야 합니다.
- 앱 비밀을 구성하거나 시작합니다.
- 코드를 여러 번 호출할 수 있는 경우 App Center가 이미 구성된 경우 검사.
- 앱 비밀 없이 필요한 서비스를 시작합니다.
AppCenter.Configure("{Your App Secret}");
if (AppCenter.Configured)
{
AppCenter.Start(typeof(Analytics));
AppCenter.Start(typeof(Crashes));
}
WinForms
WinForms 애플리케이션의 Program.cs
경우 파일을 수정하고 다음 using 문을 추가합니다.
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
그런 다음 동일한 파일에서 문 앞에 Application.Run
메서드에 Main
다음 코드를 추가합니다.
AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));
App Center 서비스를 별도로 시작해야 하는 경우 다음을 수행해야 합니다.
- 앱 비밀을 구성하거나 시작합니다.
- 코드를 여러 번 호출할 수 있는 경우 App Center가 이미 구성된 경우 검사.
- 앱 비밀 없이 필요한 서비스를 시작합니다.
AppCenter.Configure("{Your App Secret}");
if (AppCenter.Configured)
{
AppCenter.Start(typeof(Analytics));
AppCenter.Start(typeof(Crashes));
}
경고
소스 코드에 앱 비밀을 포함하지 않는 것이 좋습니다.
4.2 자리 표시자를 앱 비밀로 바꿉니다.
텍스트를 애플리케이션의 실제 값으로 바꿔 {Your App Secret}
야 합니다. 앱 비밀은 App Center 포털의 시작 페이지 또는 설정 페이지에서 찾을 수 있습니다.
시작 페이지에는 앱 비밀이 포함된 위의 코드 샘플이 포함되어 있으며 전체 샘플을 복사하여 붙여넣을 수 있습니다.
위의 예제에서는 메서드를 사용하는 Start()
방법을 보여 줍니다. 여기에는 App Center Analytics가 포함됩니다.
시작 메서드에서 각 서비스를 매개 변수로 명시적으로 지정하지 않으면 해당 App Center 서비스를 사용할 수 없습니다. 또한 API는 Start()
앱의 수명 주기에서 한 번만 사용할 수 있습니다. 다른 모든 호출은 콘솔에 경고를 기록하며 첫 번째 호출에 포함된 서비스만 사용할 수 있습니다.
SDK가 자동으로 수집하는 포털에서 충돌을 시각화하도록 설정되었습니다.
App Center Analytics 및 App Center 크래시에 대한 설명서를 참조하여 두 서비스의 고급 기능을 사용자 지정하고 사용하는 방법을 알아봅니다.