Поделиться через


Начало работы с WPF/WinForms

Это важно

Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.

Пакет SDK для Центра приложений использует модульную архитектуру, чтобы использовать любую или все службы.

Давайте приступим к настройке пакета SDK Центра приложений в приложении для использования аналитики Центра приложений и сбоев Центра приложений.

1. Предварительные требования

Прежде чем приступить к работе, убедитесь, что у вас есть следующие необходимые компоненты.

  • Проект предназначен для .NET Framework 4.6.2 (или более поздней версии) или .NET Core 3.1 (или более поздней версии).
  • .NET Core поддерживается только в том случае, если приложение WPF/WinForms работает в Windows.
  • Если вы используете пакет SDK из переносимой библиотеки, он должен быть предназначен для .NET standard 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. Создание приложения на портале Центра приложений для получения секрета приложения

Если вы уже создали приложение на портале Центра приложений, этот шаг можно пропустить.

  1. Зарегистрируйтесь или войдите и нажмите синюю кнопку в правом верхнем углу портала, где указано Добавить новое, и выберите Добавить новое приложение в раскрывающемся меню.
  2. Введите имя и необязательное описание приложения.
  3. Выберите соответствующую ОС и платформу в зависимости от проекта, как описано выше.
  4. Нажмите кнопку в правом нижнем углу, где говорится, как добавить новое приложение.

После создания приложения вы можете получить секрет приложения на странице "Параметры " на портале Центра приложений. В правом верхнем углу страницы "Параметры " щелкните тройную вертикальную точку и выберите Copy app secret , чтобы получить секрет приложения.

3. Добавление модулей пакета SDK центра приложений

Пакет SDK центра приложений можно интегрировать с помощью Visual Studio или консоли диспетчера пакетов.

Замечание

Пакет SDK для Центра приложений использует сборки с строгими именами для совместимости с приложениями, использующими знак с строгим именем.

Visual Studio

  • Откройте Visual Studio.
  • Нажмите кнопку"Открыть>" и выберите решение.
  • В обозревателе решения щелкните правой кнопкой мыши Ссылки и выберите пункт «Управление пакетами NuGet».
  • На вкладке "Обзор" найдите Центр приложений и установите пакеты Microsoft.AppCenter.Analytics и Microsoft.AppCenter.Crashes .

Консоль диспетчера пакетов

  • Откройте консоль в Visual Studio. Для этого выберите Инструменты>Диспетчер пакетов NuGet>Консоль диспетчера пакетов.
  • Введите следующие команды:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Замечание

Если вы используете пакет SDK Центра приложений в переносимом проекте, необходимо установить пакеты в каждом из проектов: переносимое и проект, на котором выполняется приложение WPF/WinForms. Для этого вам следует открыть каждый вложенный проект и выполнить соответствующие действия, описанные в разделе Visual Studio.

4. Запустите пакет SDK

Чтобы использовать Центр приложений, войдите в модули, которые вы хотите использовать. По умолчанию модули не запускаются, и при запуске пакета SDK необходимо явно вызывать каждый из них.

4.1 Добавление Start() метода

WPF (Windows Presentation Foundation)

Для вашего приложения 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));
    }
  }
}

Предупреждение

Не рекомендуется внедрять секрет приложения в исходный код.

Если вам нужно запустить службы Центра приложений отдельно, необходимо:

  1. Настройте или запустите его с помощью секрета приложения.
  2. Если код можно вызывать несколько раз, проверьте, настроен ли центр приложений.
  3. Запустите необходимые службы без секрета приложения.
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;

Затем в том же файле добавьте следующий код в Main метод перед инструкцией Application.Run .

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Если вам нужно запустить службы Центра приложений отдельно, необходимо:

  1. Настройте или запустите его с помощью секрета приложения.
  2. Если код можно вызывать несколько раз, проверьте, настроен ли центр приложений.
  3. Запустите необходимые службы без секрета приложения.
AppCenter.Configure("{Your App Secret}");
if (AppCenter.Configured)
{
    AppCenter.Start(typeof(Analytics)); 
    AppCenter.Start(typeof(Crashes)); 
}

Предупреждение

Не рекомендуется внедрять секрет приложения в исходный код.

4.2. Замените заполнитель секретом приложения

Обязательно замените {Your App Secret} текст фактическим значением приложения. Секрет приложения можно найти на странице "Начало работы " или на странице "Параметры " на портале Центра приложений.

Страница "Начало работы" содержит приведенный выше пример кода с секретом приложения в нем, вы можете скопировать весь пример.

В приведенном Start() выше примере показано, как использовать метод и включить аналитику Центра приложений.

Если вы явным образом не укажете каждую службу в качестве параметров в методе запуска, эту службу Центра приложений нельзя использовать. Кроме того, Start() API можно использовать только один раз в жизненном цикле приложения. Все остальные вызовы будут записывать предупреждение в консоль, и будут доступны только службы, включенные в первый вызов.

Отлично, вы готовы визуализировать сбои на портале, который автоматически собирает пакет SDK.

Ознакомьтесь с документацией по Аналитике исбоям Центра приложений , чтобы узнать, как настроить и использовать более сложные функции обеих служб.