既存のプロジェクトで Windows アプリ SDK を使用する

Windows アプリ SDKの機能を使用するWPF、WinForms、または Win32 デスクトップ プロジェクトがある場合は、Windows アプリ SDK NuGet パッケージをプロジェクトにインストールできます。

前提条件

アプリに Windows アプリ SDK NuGet パッケージをインストールして使用する前に、次の要件が満たされていることを確認してください。

手順

  1. Visual Studioで既存のWPF、WinForms、または Win32 プロジェクトを開きます。 Call Windows ランタイム API が構成されていることを確認>。

  2. Visual Studioで、NuGet パッケージ マネージャーを開きます。

    1. ツール > NuGet パッケージ マネージャー > ソリューションの NuGet パッケージを管理...
      –または–
    2. ソリューション エクスプローラー でプロジェクトを右クリックし、Manage NuGet Packages for Solution... を選択します。
  3. NuGet パッケージ マネージャー ウィンドウで Browse タブを選択し、次のパッケージを検索します。

    • Microsoft。WindowsAppSDK
  4. 適切なWindows アプリ SDK NuGet パッケージが見つかったら、パッケージを選択し、パッケージをインストールするプロジェクトの横にある NuGet パッケージ マネージャー ウィンドウの右側のウィンドウのチェック ボックスをオンにして、Install をクリックします。

    インストールされている Windows アプリ SDK NuGet パッケージのスクリーンショット

    Windows アプリ SDK NuGet パッケージには、Windows アプリ SDK内の特定のコンポーネントの実装を含む他のサブパッケージ (Microsoft.WindowsAppSDK.FoundationMicrosoft.WindowsAppSDK.WinUI など) が含まれています。 一般に、すべてのコンポーネントを含むメイン Windows アプリ SDK NuGet パッケージをインストールすることをお勧めします。 プロジェクト内の特定のコンポーネントのみを参照するために、サブパッケージを個別にインストールできる場合があります。 たとえば、「MLWindowsインストールしてデプロイする方法を参照してください。

パッケージ化されていないアプリの追加手順

アプリがパッケージ化されていない場合 (既定でどのデスクトップ アプリが使用されているか)、Windows アプリ SDKを使用するために追加の手順がいくつか必要になります。

パッケージ化された用語とパッケージ化されていない用語の詳細については、「パッケージ化の概要」を参照してください。

1. Windows アプリ SDK ランタイムをインストールする

Windows アプリ SDK ランタイムは、アプリを実行する任意のコンピューターにインストールする必要があります。

開発用コンピューターについては、Latest Windows アプリ SDK ダウンロードにアクセスし、次のいずれかをダウンロードして解凍し、実行することをお勧めします。

  • ランタイム ダウンロードの最新の安定したリリース。
  • インストールした Microsoft.WindowsAppSDK NuGet パッケージのバージョンとリリース チャネルに一致するランタイムのバージョンとリリース チャネル。

マシンのアーキテクチャに適したインストーラー オプションを選択します。

重要

アプリをデプロイするときは、必要なWindows アプリ SDKランタイム パッケージをエンド ユーザーに展開する必要があります。 詳細については、「Windows アプリ SDKの、外部場所とともにパッケージ化されている、またはパッケージ化されていないフレームワーク依存アプリ用の展開ガイド」を参照してください。

2. Windows アプリ SDK ランタイムを初期化する

既定では、WPF、WinForms、または Win32 デスクトップ アプリはパッケージ化解除されます。 非パッケージ アプリでは、Windows アプリ SDK のいずれかの機能を使用する前に、Windows アプリ SDK ランタイムを初期化する必要があります。

自動初期化を使用すると、これをアプリの起動時に自動的に行うことができます。

  1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロジェクト ファイルの編集] を選択します。

  2. PropertyGroup要素内に、WindowsPackageTypeに設定されたNone要素を追加します。

<WindowsPackageType>None</WindowsPackageType>

プロジェクトをビルドすると、次のファイルがVisual Studioでプロジェクトに追加されます。

  • MddBootstrapAutoInitializer.cs
  • WindowsAppSDK-VersionInfo.cs
  1. cxproj ファイルを手動で編集します。

  2. <PropertyGroup Label="Globals">要素内に、WindowsPackageTypeに設定されたNone要素を追加します。

<WindowsPackageType>None</WindowsPackageType>

高度なニーズ(たとえば、カスタムエラー処理や特定のバージョンのWindows アプリ SDKの読み込み)がある場合は、自動初期化の代わりにブートストラップ API を明示的に呼び出すこともできます。詳細については、外部の場所やパッケージ化されていないアプリで Windows アプリ SDK ランタイムを使用するおよび外部の場所でパッケージ化されたアプリ、またはパッケージ化されていないアプリで Windows アプリ SDK を使用するブートストラップ API の使用に関するチュートリアルを参照してください。

詳細情報

Class が登録されていない場合Windows アプリ SDK コンポーネントを使用しようとしたときにエラーが発生した場合は、Windows アプリ SDK Framework パッケージへの動的な依存関係をプロジェクトに追加する必要があります。 詳細については、MSIX フレームワーク パッケージと動的依存関係を参照してください。

参照や関連情報