WPF/WinForms の概要
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
App Center SDK ではモジュールアーキテクチャが使用されるため、サービスの一部またはすべてを使用できます。
App Center Analytics と App Center のクラッシュを使用するようにアプリで App Center 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. App Center ポータルでアプリを作成してアプリ シークレットを取得する
App Center ポータルでアプリを既に作成している場合は、この手順をスキップできます。
- サインアップまたはログインし、ポータルの右上隅にある [ 新規 追加] という青いボタンをクリックし、ドロップダウン メニューから [ 新しいアプリの追加 ] を選択します。
- アプリの名前と説明 (省略可能) を入力します。
- 上記のように、プロジェクトに応じて適切な OS とプラットフォームを選択します。
- 右下にある [ 新しいアプリの追加] というボタンをクリックします。
アプリを作成したら、App Center ポータルの [設定] ページでアプリ シークレットを取得できます。 [設定] ページの右上隅にある 3 つの垂直ドットをクリックし、[アプリ シークレット] を選択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()
アプリのライフサイクルで 1 回だけ使用できます。他のすべての呼び出しでは、コンソールに警告が記録され、最初の呼び出しに含まれるサービスのみが使用できるようになります。
優れた点は、SDK によって自動的に収集されるポータルでクラッシュを視覚化するように設定されています。
両方のサービスのより高度な機能をカスタマイズして使用する方法については、 App Center Analytics と App Center のクラッシュ に関するドキュメントを参照してください。