次の方法で共有


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

Windows アプリ SDKを使用するデスクトップ プロジェクトがある場合は、Windows アプリ SDK NuGet パッケージをプロジェクト (最新バージョンまたは必要な任意のバージョン) にインストールできます。 パッケージ化されていないアプリ (つまり、展開テクノロジに MSIX を使用しないアプリ) mustWindows アプリ SDKを使用する場合は、この手順に従います。 ただし、パッケージ アプリ実行することもできます。

重要

UWP アプリで作業している場合は、「UWP から Windows App SDK に移行する」を参照してください。

Note

この手順は、C# .NET 6 (以降) プロジェクトおよび C++ デスクトップ プロジェクトでサポートされています。 これらのプロジェクトの種類では、 stable リリース チャネルpreview リリース チャネル、または experimental リリース チャネルのいずれかの NuGet パッケージを使用できます。

前提条件

  • Visual Studio 2019 以降。
  • Windows アプリ開発用のワークロードとコンポーネント。 詳細については、「Windows アプリ SDKのツールをインストールする」を参照してください。

手順

  1. Visual Studio で既存のプロジェクトを開きます。

    Note

    C# デスクトップ プロジェクトがある場合は、プロジェクト ファイル内の TargetFramework 要素が Windows 10 固有のモニカー (net6.0-windows10.0.19041.0 など) に設定されていることを確認し、Windows ランタイム API を呼び出すことができるようにします。 詳細については、「デスクトップ アプリでの API のWindows ランタイム呼び出し」を参照してください。 さらに、 18362 以降をターゲットにする必要があります。これは、 17763 を対象とするアプリをブロックする既知の問題があるためです (GitHub で TFM 17763 を使用する場合の Build エラー を参照してください)。

  2. パッケージ参照が有効になっていることを確認します。

    1. Visual Studio で、[ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー設定] の順にクリックします。
    2. Default パッケージ管理形式PackageReference が選択されていることを確認します。
  3. ソリューション エクスプローラーでプロジェクトを右クリックし、 [NuGet パッケージの管理] をクリックします。

  4. [NuGet パッケージ マネージャー] ウィンドウで、ウィンドウの上部近くにある [プレリリースを含める] チェックボックスをオンにし、[参照] タブを選択して、次のいずれかのパッケージを検索します。

    • 1.0 またはそれ以降のリリースのいずれかをインストールするには、Microsoft.WindowsAppSDK パッケージを検索します。
    • 0.8 リリースのいずれかをインストールするには、Microsoft.ProjectReunion パッケージを検索します。
  5. 適切なWindows アプリ SDK NuGet パッケージが見つかったら、パッケージを選択し、NuGet パッケージ マネージャー ウィンドウの右側のウィンドウで [Install をクリックします。

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

    Note

    Windows アプリ SDK NuGet パッケージには、Windows アプリ SDK内の特定のコンポーネントの実装を含む他のサブパッケージ (Microsoft.WindowsAppSDK.FoundationMicrosoft.WindowsAppSDK.WinUI など) が含まれています。 プロジェクト内の特定のコンポーネントのみを参照するために、これらのサブパッケージを個別にインストールすることはできません。 メインの Windows App SDK NuGet パッケージをインストールする必要があります。このパッケージには、すべてのコンポーネントが含まれています。

  6. パッケージ化されていないアプリの場合のみ。 パッケージ化されていないアプリで Windows アプリ SDK API とコンポーネントを使用できるようにするには、まず、Windows アプリ SDK フレームワーク パッケージを参照するためにWindows アプリ SDK ランタイムを読み込む必要があります。 詳細については、「外部の場所またはパッケージ化されていないアプリのWindows アプリ SDK ランタイムを使用するTutorial: 外部の場所でパッケージ化されたアプリでブートストラップ API を使用する、またはWindows アプリ SDKを使用するパッケージ化されていないアプリを使用する方法に関するページを参照してください。

  7. アプリで、インストールしたリリース チャネルで使用できる api とコンポーネントWindows アプリ SDK使用できるようになりました。 利用可能な機能の一覧については、リリース チャネルに関するページを参照してください。

詳細情報

既存のプロジェクトが C++ プロジェクトであり、Windows アプリ SDKで Windows ランタイム API を呼び出す場合は、C++/WinRT のサポートを追加する必要があります。 C++/WinRT、XAML、VSIX 拡張機能、NuGet パッケージに対する Visual Studio のサポートを参照してください。 Microsoft.Windows.CppWinRT NuGet パッケージに関する情報を探します。 そのパッケージがないと、プロジェクトはWindows アプリ SDK内の Windows ランタイム API の名前空間ヘッダー ファイルを見つけることができません。

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

参照