WinUI 3 Preivew1のプロジェクトをPreview2に更新する


WinUI 3 Preview 2

気づかずに半月程たってしまいましたが、WinUI 3のPreview2がでてました。

WinUI 3 Preview 2 (2020 年 7 月)

なので、以前WinUI 3 Preview1を使って作成した以下のWinUI3 DesktopプロジェクトをPreview 2に更新してみました。

今回はその記録です。

基本的に公式の説明通り進めていっただけなので有用な情報は少ないです。

環境の更新

公式ページの記述に従い環境を確認していきます。

開発用コンピューターに Windows 10 バージョン 1803 (ビルド 17134) 以降がインストールされていること

Windows10 2004なのでOK.

Visual Studio 2019 バージョン 16.7 Preview 3 のインストール

インストール済みのVS2019 Previewのバージョンを確認してみると、16.7.0 Preview 3.1でした。

なのでこのままいくことに。

/images/2020/08/07/192535/20200807183353.png

更新プログラムの確認をしたところ、16.8.0 Preview 1.0がありましたが、前回.NET 5のバージョンを最新にしたことでWinUI 3 Preview1の起動が失敗するようになったのでむやみに最新にするのはやめました。

/images/2020/08/07/192535/20200807183508.png

.NET 5 Preview 5

WinUI3 Preview2では.NET 5のPreview5に対応したみたいです。 現状の最新を確認したところ、Preview7がありましたが確実に動作させるためにPreview5にしておきます。

ただし、今回は公式ページの説明に「Preview5よりも新しいのを入れないで」という但し書きが無かった(前回はあった)のでひょっとしたらPreview7でも動くかもしれません。

WinUI 3 Preview 2 VSIX パッケージのインストール

VSへの拡張機能をいれます。 ただダウンロードしてインストールしてみたところ、既に入っていますと表示されていたのでPreview1から変わってないと思います。

Projectの更新

既にWinUI Preview1で作ったプロジェクトは、そのままではPreview2では動作しないらしく、いくつか編集する必要があるようです。

詳細は以下のページに書かれています。

では上記ページに従って編集していきます。

nugetでMicrosoft.WinUIのPreview2をインストール

NuGetパッケージマネージャーにて検索したところ表示されませんでした。

ただその場合の対処も書いてあり、パッケージマネージャコンソールからinstall-package Microsoft.WinUI -Version 3.0.0-preview2.200713.0をいれてインストールしました。

.csprojの編集

TargetFrameworkの記述をnetcoreapp5.0からnet5.0に変更します。

このファイルはこれだけ。

.wapprojの編集

パッケージプロジェクトの設定ファイル(.wapproj)をいくつか編集します。

変更1

<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />の後のPropertyGroupの中に<AppxTargetsLocation Condition="'$(AppxTargetsLocation)'==''">$(MSBuildThisFileDirectory)build&lt;/AppxTargetsLocation>を記載を挿入します。

変更2

<Import Project=“build\Microsoft.WinUI.AppX.targets” />を <Import Project="$(AppxTargetsLocation)Microsoft.WinUI.AppX.targets" />に変更します。

パッケージプロジェクトのbuildフォルダ内のファイルを置換

まず、新規プロジェクトを作ります。 これは使い捨てなのでどこか一時的なフォルダへの作成でOKです。

テンプレートはBlank App, Packaged (WinUI in Desktop)にします。

プロジェクトが作成されたら、 [Packageプロジェクトフォルダ]/build/にある以下の2つのファイルをコピーします。

そして、自分のパッケージプロジェクトの同じ階層のファイルを上書きします。

ビルドして実行

VSを再起動してビルド→実行してみるとちゃんと起動しました。

WinUI3 Preview2はPreview1からたくさんバグも修正しているらしく、色々とみていきたいと思います。


See also