WPF/WinForms 入门
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
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 门户中创建了应用,则可以跳过此步骤。
- 注册或登录,点击门户右上角显示 “新增” 的蓝色按钮,然后从下拉菜单中选择“ 添加新应用 ”。
- 输入应用的名称和可选说明。
- 如上所述,根据项目选择合适的 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;
然后,在同一文件中,在 方法的 Main
语句前 Application.Run
添加以下代码。
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。
除非在 start 方法中将每个服务显式指定为参数,否则不能使用该 App Center 服务。 此外,API Start()
在应用的生命周期中只能使用一次 - 所有其他调用都将记录警告到控制台,并且只有第一次调用中包含的服务可用。
很好,你都可以在 SDK 自动收集的门户中可视化崩溃。
查看 App Center Analytics 和 App Center 崩溃 的文档,了解如何自定义和使用这两种服务的更高级功能。