以前に Maui の WinUI がデバッグできない記事を書きました。
現在、できるようになっていたオデ書き残しておきます。
■ 環境
- Visual Studio 2022 Preview 4.1
- 6.0.100-rc.1.21463.6
■ ワークロードの更新
※必要かは分かりませんが
dotnet workload update
■ Visual Studio Extension の更新
※必要かは分かりませんが
- .NET MAUI Project and Item Templates [Preview]
■ プロジェクトの作成
dotnet new maui
■ 出来上がったプロジェクト
ここで注目。なんと WinUI プロジェクトがなくなっています。
※以前のプロジェクト構成。
素晴らしいことに、一つのプロジェクトで WinUI も対応になったようです。
■ 実行
実行ターゲットを選択して実行してみます。
残念ながらエラーになりました。
There were deployment errors. Continue? (Yes/No)
Visual Studio の output ペインへの出力
Build started... 1>------ Build started: Project: MauiApp, Configuration: Debug Any CPU ------ 1>You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview 1>MauiApp -> X:\XXXXX\bin\Debug\net6.0-android\MauiApp.dll 2>------ Deploy started: Project: MauiApp, Configuration: Debug Any CPU ------ 2>Need recipe file ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== ========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========```
■ なんと .csproj ファイルを編集
なんと .csproj ファイルを編集しての切り替え式です。
こうなっているのを
こうします。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!-- <TargetFrameworks>net6.0-ios;net6.0-android;net6.0-maccatalyst</TargetFrameworks> --> <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks> <OutputType>Exe</OutputType> <RootNamespace>MauiApp</RootNamespace> <UseMaui>true</UseMaui> <SingleProject>true</SingleProject> <EnablePreviewMsixTooling>true</EnablePreviewMsixTooling> <!-- Display name --> <ApplicationTitle>MauiApp</ApplicationTitle> <!-- App Identifier --> <ApplicationId>com.companyname.MauiApp</ApplicationId> <!-- Versions --> <ApplicationVersion>1.0</ApplicationVersion> <AndroidVersionCode>1</AndroidVersionCode> <!-- Required for C# Hot Reload --> <UseInterpreter Condition="'$(Configuration)' == 'Debug'">True</UseInterpreter> </PropertyGroup> <ItemGroup> <!-- App Icon --> <MauiImage Include="Resources\appicon.svg" ForegroundFile="Resources\appiconfg.svg" IsAppIcon="true" Color="#512BD4" /> <!-- Splash Screen --> <MauiSplashScreen Include="Resources\appiconfg.svg" Color="#512BD4" /> <!-- Images --> <MauiImage Include="Resources\Images\*" /> <!-- Custom Fonts --> <MauiFont Include="Resources\Fonts\*" /> </ItemGroup> <ItemGroup Condition="$(TargetFramework.Contains('-windows'))"> <!-- Required - WinUI does not yet have buildTransitive for everything --> <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" /> <PackageReference Include="Microsoft.WindowsAppSDK.InteractiveExperiences" Version="1.0.0-experimental1" NoWarn="NU1701" /> </ItemGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-windows'))"> <OutputType>WinExe</OutputType> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup> </Project>
■ 再度実行
なんと出ました。