WPF/WinForms 入门

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

App Center SDK 使用模块化体系结构,因此你可以使用任何或所有服务。

让我们开始在应用中设置 App Center SDK 以使用 App Center Analytics 和 App Center 崩溃。

1.先决条件

在开始之前,请确保满足以下先决条件:

  • 项目面向 .NET Framework 4.6.2(或更高版本)或 .NET Core 3.1(或更高版本)。
  • 仅当 WPF/WinForms 应用程序在 Windows 上运行时,才支持 .NET Core。
  • 如果从可移植库使用 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 门户中创建了应用,则可以跳过此步骤。

  1. 注册或登录并点击门户右上角的蓝色按钮,显示 “添加新 ”,并从下拉菜单中选择“ 添加新应用 ”。
  2. 输入应用的名称和可选说明。
  3. 根据上述项目选择适当的 OS 和平台。
  4. 点击右下角的按钮,显示 “添加新应用”。

创建应用后,可以在 App Center 门户的“设置”页上获取其应用机密。 在 “设置” 页面的右上角,单击 三个垂直点 并选择 Copy app secret 获取应用机密。

3.添加 App Center SDK 模块

可以使用 Visual Studio 或包管理器控制台集成 App Center SDK。

注释

App Center SDK 使用 强名称程序集 来与使用强名称签名的应用程序兼容。

Visual Studio

  • 打开 Visual Studio。
  • 单击“文件>打开”并选择解决方案。
  • 在解决方案导航器中,右键单击 “引用 ”并选择“ 管理 NuGet 包”。
  • “浏览”选项卡中,搜索 App Center,并安装 Microsoft.AppCenter.AnalyticsMicrosoft.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(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));
    }
  }
}

警告

不建议在源代码中嵌入应用机密。

如果需要单独启动 App Center 服务,应:

  1. 配置或启动应用密钥。
  2. 如果可以多次调用代码,请检查是否已配置 App Center。
  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;

然后在同一文件中,在语句之前MainApplication.Run方法中添加以下代码。

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

如果需要单独启动 App Center 服务,应:

  1. 配置或启动应用密钥。
  2. 如果可以多次调用代码,请检查是否已配置 App Center。
  3. 在不使用应用机密的情况下启动所需的服务。
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。

除非在 start 方法中显式将每个服务指定为参数,否则不能使用该 App Center 服务。 此外, Start() API 只能在应用的生命周期中使用一次 – 所有其他调用都会将警告记录到控制台,并且只有第一次调用中包含的服务可用。

很好,你都可以在 SDK 自动收集的门户中可视化崩溃。

查看 App Center AnalyticsApp Center 崩溃 的文档,了解如何自定义和使用这两个服务的更高级功能。