既存のプロジェクトを異なるリリースの Windows アプリ SDK に更新する
以前のバージョンの Windows アプリ SDK (旧称: Project Reunion) または WinUI 3 を使用してプロジェクトを作成した場合は、プロジェクトを更新すると、より新しいリリースを使用できます。 各リリース チャネルで現在提供されているものの詳細については、「Windows App SDK のリリース チャネル」を参照してください。
Note
各アプリの個々のシナリオは独自性により、これらの手順で問題が発生する可能性があります。 注意深く見守り、問題が見つかった場合には、microsoft-ui-xaml GitHub リポジトリに対してバグを提出してください。
1.0 以降にリリースされたバージョン間の更新
必要な Windows アプリ SDK NuGet パッケージのバージョンをプロジェクトが参照していない場合は、Visual Studio の NuGet パッケージ マネージャーを使用して、プロジェクトの NuGet パッケージ参照を更新できます。 たとえば、Windows アプリ SDK VSIX の安定版リリースを使用して新しいプロジェクトを作成すると、プロジェクトは Windows アプリ SDK の安定版リリースを参照します。 ただし、たとえば Windows アプリ SDK の試験段階リリースを参照するように、そのプロジェクトを簡単に再構成できます。 または、最新の安定版リリースを参照するように再構成します。
手順については、「既存のプロジェクトで Windows アプリ SDK を使用する」の手順を参照してください。
0.8 から 1.0 への更新
バージョン 0.8 (バージョン 0.8.4 など) を使用してプロジェクトを作成した場合は、次の手順に従ってプロジェクトを 1.0 リリースに更新できます。
前提条件: Windows App SDK の最新リリースをダウンロードしてインストールします。 詳細については、「Windows App SDK 用ツールをインストールする」を参照してください。
手順
.wapproj
ファイルの TargetPlatformMinVersion が10.0.17763.0
よりも古い場合は、10.0.17763.0
に変更します。Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。 このプロセスでは、既存の Project Reunion パッケージ参照を
.csproj
/.vcxproj
と.wapproj
のファイルからアンインストールし、WindowsAppSDK
パッケージ参照をそれらのファイルにインストールします。次のコマンドを入力して、既存の
ProjectReunion
パッケージを.csproj
/.vcxproj
からアンインストールします。uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject}
次に、以下を実行して、既存の
ProjectReunion
パッケージを.wapproj
からアンインストールします。uninstall-package Microsoft.ProjectReunion uninstall-package Microsoft.ProjectReunion.WinUI
次に、コマンドを実行して、安定版
WindowsAppSDK
パッケージをインストールします。WindowsAppSDK
パッケージ参照を.csproj
/.vcxproj
に追加するには:install-package Microsoft.WindowsAppSDK -ProjectName {yourProject} -Version 1.0.0
WindowsAppSDK
パッケージ参照を.wapproj
に追加するには:install-package Microsoft.WindowsAppSDK -Version 1.0.0
0.8 または 0.8 Preview から1.0 Experimental または Preview 3 への更新
重要
バージョン 1.0 プレビュー 1 とプレビュー 2 には重大なバグが含まれています。 これらのプレビューのいずれかを既にインストールしている場合は、「1.0 Preview 1 と Preview 2 に影響する重要な問題」を参照してください。 代わりに、バージョン 1.0 Preview 3 (1.0.0-preview3) を使用することをお勧めします。
バージョン 0.8 Preview または 0.8 のいずれかのバージョン (バージョン 0.8.1 など) を使用してプロジェクトを作成した場合は、次の手順に従って、プロジェクトを 1.0 Preview 3 または Experimental リリースに更新できます。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
- .wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
1.0 プレビュー 3 の場合は、次のコマンドを入力します。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.WindowsAppSDK -Version 1.0.0-preview3 -ProjectName {yourProjectName}
または、1.0 試験版の場合は、次のコマンドです。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.WindowsAppSDK -Version 1.0.0-experimental1 -ProjectName {yourProjectName}
アプリケーション (パッケージ).wapproj で次の変更を行います。
この項目グループを削除します (0.8.0 とは異なるバージョンから更新する場合は、この項目グループで参照される対応するバージョン番号が表示されます):
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.0]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.8.0]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
この項目グループを追加して、1.0 プレビュー 3 に置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.WindowsAppSDK" Version="[1.0.0-preview3]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
または、この項目グループで、1.0 試験版に置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.WindowsAppSDK" Version="[1.0.0-experimental1]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.WindowsAppSDK.WinUI" Version="[1.0.0-experimental1]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
プロジェクト (.csproj または .vcproj) ファイルに対して次の変更を行います。
この項目グループを削除します (0.8.0 とは異なるバージョンから更新する場合は、この項目グループで参照される対応するバージョン番号が表示されます):
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0" /> <PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0" /> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
この項目グループを追加して、1.0 プレビュー 3 に置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0-preview3" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
または、この項目グループで、1.0 試験版に置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0-experimental1" /> <PackageReference Include="Microsoft.WindowsAppSDK.Foundation" Version="1.0.0-experimental1" /> <PackageReference Include="Microsoft.WindowsAppSDK.WinUI" Version="1.0.0-experimental1" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
ソリューションのビルドに失敗した場合は、ビルド出力を消去し、Visual Studio を再起動し、アプリを再実行します。
0.8 Preview から 0.8 への更新、または安定した 0.8 バージョン間の更新
バージョン 0.8 プレビューを使用してプロジェクトを作成した場合は、これらの手順に従って、プロジェクトを 0.8 の安定版に更新できます。 これらの手順は、0.8 の以前の安定版 (たとえば、0.8.0) でプロジェクトを作成し、プロジェクトを新しい安定版 (たとえば、0.8.2) に更新する場合にも適用されます。
Note
以下の手動の手順を実行せずに、Visual Studio 拡張機能マネージャーを使用して、プロジェクトを自動的に更新できる場合があります。 Visual Studio 2019 で、[拡張機能]>[拡張機能の管理] をクリックし、左側のメニュー バーから [更新] を選択します。 一覧から [Project Reunion] を選択し、[更新] をクリックします。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
- .wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
次のコマンドを入力します。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.ProjectReunion -Version 0.8.2 -ProjectName {yourProjectName}
アプリケーション (パッケージ).wapproj で次の変更を行います。
この項目グループを削除します (0.8 プレビューとは異なるバージョンから更新する場合は、この項目グループで参照される対応するバージョン番号が表示されます):
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.0-preview]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.8.0-preview]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
この項目グループを追加して、置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.2]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.8.2]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
プロジェクト (.csproj または .vcproj) ファイルに対して次の変更を行います。
- この項目グループを削除します (0.8 プレビューとは異なるバージョンから更新する場合は、この項目グループで参照される対応するバージョン番号が表示されます):
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0-preview" /> <PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0-preview" /> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0-preview" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
- この項目グループを追加して、置き換えます。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="0.8.2" /> <PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.2" /> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.2" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
- この項目グループを削除します (0.8 プレビューとは異なるバージョンから更新する場合は、この項目グループで参照される対応するバージョン番号が表示されます):
ソリューションのビルドに失敗した場合は、ビルド出力を消去し、Visual Studio を再起動し、アプリを再実行します。
0.5 から 0.8 への更新
バージョン 0.5 安定版を使用してプロジェクトを作成した場合は、これらの手順に従って、プロジェクトをバージョン 0.8 安定版に更新できます。
Note
以下の手動の手順を実行せずに、Visual Studio 拡張機能マネージャーを使用して、プロジェクトを自動的に更新できる場合があります。 Visual Studio 2019 で、[拡張機能]>[拡張機能の管理] をクリックし、左側のメニュー バーから [更新] を選択します。 一覧から [Project Reunion] を選択し、[更新] をクリックします。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
- .wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
次のコマンドを入力します。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.ProjectReunion -Version 0.8.0 -ProjectName {yourProjectName}
プロジェクト (.csproj または .vcproj) ファイルの最初の
<PropertyGroup>
内に次の行を追加します。<UseWinUI>true</UseWinUI>
アプリケーション (パッケージ).wapproj で次の変更を行います。
次のセクションを追加します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.0]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.8.0]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
次の行を見つけます。
<AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
この行を移動し、
<TargetPlatformVersion>
タグのすぐ下にある新しい行に配置します。この項目グループを削除します (0.5.7 より前のバージョンから更新する場合は、この項目グループで参照される前のバージョン番号が表示されます):
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.7]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.5.7]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
ソリューションのビルドに失敗した場合は、ビルド出力を消去し、Visual Studio を再起動し、アプリを再実行します。
0.5 プレビューから 0.8 プレビューへの更新
バージョン 0.5 プレビューを使用してプロジェクトを作成した場合は、これらの手順に従って、プロジェクトをバージョン 0.8 プレビューに更新できます。
Note
以下の手動の手順を実行せずに、Visual Studio 拡張機能マネージャーを使用して、プロジェクトを自動的に更新できる場合があります。 Visual Studio 2019 で、[拡張機能]>[拡張機能の管理] をクリックし、左側のメニュー バーから [更新] を選択します。 一覧から [Project Reunion] を選択し、[更新] をクリックします。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
.wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
C++ と C# の両方のアプリの既定のプロジェクト テンプレートには、次の行が含まれています。
Application.Suspending
イベントはデスクトップ アプリに対して呼び出されなくなったため、コードにまだ存在する場合は、これらの行を (このイベントのその他の使用とともに) 必ず削除してください。this.Suspending += OnSuspending;
Suspending({ this, &App::OnSuspending });
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
次のコマンドを入力します。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.ProjectReunion -Version 0.8.0-preview -ProjectName {yourProjectName}
アプリケーション (パッケージ).wapproj で次の変更を行います。
次のセクションを追加します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.0-preview]"> <IncludeAssets>build</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.8.0-preview]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
<TargetPlatformVersion>
タグのすぐ下にある新しい行に次の行を追加します。<AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
次の行を削除します。
<AppxTargetsLocation Condition="'$(AppxTargetsLocation)'==''">$(MSBuildThisFileDirectory)build\</AppxTargetsLocation>
およびこれらの行:
<Import Project="$(Microsoft_ProjectReunion_AppXReference_props)" /> <Import Project="$(Microsoft_WinUI_AppX_targets)" />
およびこの項目グループ:
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.0]" GeneratePathProperty="true"> <ExcludeAssets>all</ExcludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.5.0]" GeneratePathProperty="true"> <ExcludeAssets>all</ExcludeAssets> </PackageReference> </ItemGroup>
プロジェクト (.csproj または .vcproj) ファイルに対して次の変更を行います。
この項目グループを削除します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="0.5.0-prerelease" /> <PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.5.0-prerelease" /> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.5.0-prerelease" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
この項目グループを追加します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0-preview" /> <PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0-preview" /> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0-preview" /> <Manifest Include="$(ApplicationManifest)" /> </ItemGroup>
ソリューションのビルドに失敗した場合は、ビルド出力を消去し、Visual Studio を再起動し、アプリを再実行します。
0.5 Preview から 0.5 への更新
バージョン 0.5 プレビューを使用してプロジェクトを作成した場合は、これらの手順に従って、プロジェクトを安定版 0.5.7 に更新できます。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
[デスクトップ アプリのみ] .wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
C++ と C# の両方のアプリの既定のプロジェクト テンプレートには、次の行が含まれています。
Application.Suspending
イベントはデスクトップ アプリに対して呼び出されなくなったため、コードにまだ存在する場合は、これらの行を (このイベントのその他の使用とともに) 必ず削除してください。this.Suspending += OnSuspending;
Suspending({ this, &App::OnSuspending });
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
次のコマンドを入力します。
uninstall-package Microsoft.ProjectReunion -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.Foundation -ProjectName {yourProject} uninstall-package Microsoft.ProjectReunion.WinUI -ProjectName {yourProject} install-package Microsoft.ProjectReunion -Version 0.5.7 -ProjectName {yourProjectName}
UWP アプリがある場合は、この段階で更新プロセスは完了です。 デスクトップ アプリがある場合は、アプリケーション (パッケージ).wapproj で次の変更を行います。
次のセクションを追加します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.7]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
<TargetPlatformVersion>
タグを見つけ、そのタグのすぐ下にある新しい行に以下を追加します。<AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
次の行を削除します。
<AppxTargetsLocation Condition="'$(AppxTargetsLocation)'==''">$(MSBuildThisFileDirectory)build\</AppxTargetsLocation>
およびこれらの行:
<Import Project="$(Microsoft_ProjectReunion_AppXReference_props)" /> <Import Project="$(Microsoft_WinUI_AppX_targets)" />
およびこの項目グループ:
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.0-prerelease]" GeneratePathProperty="true"> <ExcludeAssets>all</ExcludeAssets> </PackageReference> <PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.5.0-prerelease]" GeneratePathProperty="true"> <ExcludeAssets>all</ExcludeAssets> </PackageReference> </ItemGroup>
WinUI 3 Preview 4 から 0.5 への更新
WinUI 3 Preview 4 を使用してデスクトップ アプリを作成した場合は、次の手順に従って、プロジェクトを Project Reunion 0.5 に更新できます。
開始する前に、最新の VSIX と NuGet のパッケージを含め、すべての Windows App SDK 前提条件がインストールされていることを確認してください。 詳細については、「Windows アプリ SDK 用ツールをインストールする」を参照してください。
最初に、次の操作を行います。
.wapproj ファイルで、TargetPlatformMinVersion が 10.0.17763.0 よりも古い場合は、10.0.17763.0 に変更します。
C++ と C# の両方のアプリの既定のプロジェクト テンプレートには、次の行が含まれています。
Application.Suspending
イベントはデスクトップ アプリに対して呼び出されなくなったため、コードにまだ存在する場合は、これらの行を (このイベントのその他の使用とともに) 必ず削除してください。this.Suspending += OnSuspending;
Suspending({ this, &App::OnSuspending });
次に、これらの変更をプロジェクトに加えます。
Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[パッケージ マネージャー コンソール] の順に移動します。
次のコマンドを入力します。
uninstall-package Microsoft.WinUI -ProjectName {yourProject} install-package Microsoft.ProjectReunion -Version 0.5.7 -ProjectName {yourProjectName}
アプリケーション (パッケージ).wapproj で次の変更を行います。
次のセクションを追加します。
<ItemGroup> <PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.7]"> <IncludeAssets>build</IncludeAssets> </PackageReference> </ItemGroup>
次の行を削除します。
<AppxTargetsLocation Condition="'$(AppxTargetsLocation)'==''">$(MSBuildThisFileDirectory)build\</AppxTargetsLocation>
<Import Project="$(AppxTargetsLocation)Microsoft.WinUI.AppX.targets" />
プロジェクトの {自分のプロジェクト}(パッケージ)/build/ フォルダーにある、既存の
Microsoft.WinUI.AppX.targets
ファイルを削除します。
Windows developer