In Visual Studio 17.10.0 Preview 3 Project Properties do not open anymore
Description
Instead of Property Page, I get:
Microsoft.VisualStudio.ProjectSystem.Query.QueryExecutionException: The given key was not present in the dictionary. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Xamarin.VisualStudio.Android.Services.AndroidToolsSdk.GetAndroidVersionsForRuntime(Runtime runtime) in D:\a\_work\1\s\src\Core\VisualStudio.Android\Services\AndroidToolsSdk.cs:line 0
at Xamarin.VisualStudio.Maui.DotNetProperties.Providers.ExtendedApplicationRule.TargetFrameworkAndroidEnumGenerator.<GetListedValuesAsync>d__5.MoveNext() in D:\a\_work\1\s\src\Features\VisualStudio.Properties\DotNet\VisualStudio.Maui.DotNetProperties\Providers\ExtendedApplicationRule\TargetFrameworkAndroidEnumProvider.cs:line 69
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.PropertyPages.PageDynamicEnumProperty.<CreateAdmissibleValuesAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.PropertyPages.PageEnumPropertyBase.<GetAdmissibleEnumValueAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.PropertyPages.PageDynamicEnumProperty.<GetAdmissibleEnumValueAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.PropertyPages.PageEnumPropertyBase.<GetValueAsIEnumValueAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.<CreateUIPropertyValueValueAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.<CreateUIPropertyValueValueAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.<CreateUIPropertyValueValuesAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryDataFromProviderStateProducerBase`1.<SendRequestAsync>d__0.MoveNext()
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.ProjectSystem.Query.Execution.QuerySubscription`1.<RunQueryOnceAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.Query.Execution.QuerySubscription`1.<>c__DisplayClass10_0.<<Start>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.<InitializeAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.<CreateAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertiesEditor.<>c__DisplayClass0_0.<<-ctor>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.AsyncLoadContent.<>c__DisplayClass0_0.<<Initialize>b__0>d.MoveNext()
The page code is (used to work in Preview 2):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net9.0-tizen</TargetFrameworks> -->
<OutputType>Exe</OutputType>
<RootNamespace>GnollHackM</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- Display name -->
<ApplicationTitle>GnollHack</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.soundmindgames.GnollHackM</ApplicationId>
<ApplicationIdGuid>77f64670-4eb4-432e-aa6a-b02d3d035d80</ApplicationIdGuid>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">12.2</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">13.1</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">26.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Debug|net9.0-ios'">
<ProvisioningType>manual</ProvisioningType>
<CodesignKey>Apple Development: Janne Gustafsson (3JF32923Y3)</CodesignKey>
<CodesignProvision>Apple Dev M Development 2023</CodesignProvision>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Release|net9.0-ios'">
<ProvisioningType>manual</ProvisioningType>
<CodesignKey>Apple Development: Janne Gustafsson (3JF32923Y3)</CodesignKey>
<CodesignProvision>Apple Dev M Development 2023</CodesignProvision>
<!--<CodesignKey>Apple Distribution: Hyvan mielen pelit ry (CUG8RS847T)</CodesignKey>
<CodesignProvision>Apple Dev M Distribution March 2024</CodesignProvision>-->
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.Contains('-android'))">
<UseInterpreter>false</UseInterpreter>
<!--<AndroidEnableProfiler>true</AndroidEnableProfiler>
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
<RuntimeIdentifiers>android-arm64</RuntimeIdentifiers>-->
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.Contains('-ios'))">
<UseInterpreter>false</UseInterpreter>
<MtouchInterpreter>-all,FMODService.dll</MtouchInterpreter>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<_MauiForceXamlCForDebug>true</_MauiForceXamlCForDebug>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net9.0-android'">
<MauiIcon Include="Resources\AppIcon\appicon.png" Color="#FFCCCC" ForegroundScale="0.64" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'!='net9.0-android'">
<MauiIcon Include="Resources\AppIcon\appicon.png" Color="#FFCCCC" ForegroundScale="1.0" />
</ItemGroup>
<ItemGroup>
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\gnollhackicon.png" Color="#000000" BaseSize="160,160" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Remove="..\GnollHackX\GnollHackX\BackgroundView.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHGame.cs" />
<None Remove="..\GnollHackX\GnollHackX\UIUtils.cs" />
<None Remove="..\GnollHackX\GnollHackX\CustomLabel.cs" />
<None Remove="..\GnollHackX\GnollHackX\DiscordWebHookAttachedFile.cs" />
<None Remove="..\GnollHackX\GnollHackX\DiscordWebHookPost.cs" />
<None Remove="..\GnollHackX\GnollHackX\DiscordWebHookPostWithAttachment.cs" />
<None Remove="..\GnollHackX\GnollHackX\EventArgs.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHPost.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHPostAttachment.cs" />
<None Remove="..\GnollHackX\GnollHackX\HttpClientDownloadWithProgress.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHAnimationTimerList.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHApp.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHButton.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHCachedImage.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHColors.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHCommandButtonItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHConstants.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHDelegates.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHDrawCommand.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHEditor.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHFloatingText.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHConditionText.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHGUIEffect.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHMenuInfo.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHMenuItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHMsgHistoryItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHNumberPickItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHOutRipInfo.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHPetDataItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHPutStrItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHPutStrInstructions.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHRecordedFunctionCall.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHRecordedRecordedGameFile.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHResponse.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHRequest.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHScreenFilter.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHScreenText.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHSkiaFontPaint.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHStatusField.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHUtils.cs" />
<None Remove="..\GnollHackX\GnollHackX\GHWindow.cs" />
<None Remove="..\GnollHackX\GnollHackX\GlyphImageSource.cs" />
<None Remove="..\GnollHackX\GnollHackX.Common\GnollHackService.cs" />
<None Remove="..\GnollHackX\GnollHackX\IGnollHackService.cs" />
<None Remove="..\GnollHackX\GnollHackX\IPlatformService.cs" />
<None Remove="..\GnollHackX\GnollHackX\IFMODService.cs" />
<None Remove="..\GnollHackX\GnollHackX\ImageCarousel.cs" />
<None Remove="..\GnollHackX\GnollHackX\MapData.cs" />
<None Remove="..\GnollHackX\GnollHackX\ObjectData.cs" />
<None Remove="..\GnollHackX\GnollHackX\ObjectDataItem.cs" />
<None Remove="..\GnollHackX\GnollHackX\Secrets.cs" />
<None Remove="..\GnollHackX\GnollHackX\SecretsDirectory.cs" />
<None Remove="..\GnollHackX\GnollHackX\SecretsFile.cs" />
<None Remove="..\GnollHackX\GnollHackX\SelectableShortcutButton.cs" />
<None Remove="..\GnollHackX\GnollHackX\StoredManual.cs" />
<None Remove="..\GnollHackX\GnollHackX\UserSecrets.cs" />
<None Remove="..\GnollHackX\GnollHackX.FMOD\fmod.cs" />
<None Remove="..\GnollHackX\GnollHackX.FMOD\fmod_studio.cs" />
<None Remove="..\GnollHackX\GnollHackX.FMOD\fmod_errors.cs" />
<None Remove="..\GnollHackX\GnollHackX.FMOD\fmod_dsp.cs" />
<None Remove="..\GnollHackX\GnollHackX.FMOD\FMODService.cs" />
<None Remove="..\GnollHackX\GnollHackX\Controls\CustomImageButton.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Controls\LabeledImageButton.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Controls\RowImageButton.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Controls\SimpleImageButton.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Controls\SwitchableCanvasView.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\AboutPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\ResetPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\SettingsPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\VaultPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\TopScorePage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\LibraryPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\DisplayFilePage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\ReplayPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\ImportExportPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\EditorPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\MainScreen\VersionPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\Pages\Game\GameMenuPage.xaml.cs" />
<None Remove="..\GnollHackX\GnollHackX\MainPage.xaml.cs" />
<None Remove="Assets\UI\autostash.png" />
<None Remove="Assets\UI\battery-frame.png" />
<None Remove="Assets\UI\fps.png" />
<None Remove="Assets\UI\frame2-horizontal.png" />
<None Remove="Assets\UI\frame2-topleft-small.png" />
<None Remove="Assets\UI\frame2-topleft.png" />
<None Remove="Assets\UI\frame2-vertical.png" />
<None Remove="Assets\UI\picktobag.png" />
<None Remove="Assets\UI\status-quivered-weapon-style.png" />
<None Remove="Assets\UI\symbol-damage.png" />
<None Remove="Platforms\Android\Environment.txt" />
<None Remove="Resources\AppIcon\appicon.svg" />
<None Remove="Resources\AppIcon\appiconfg.svg" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\GnollHackX\GnollHackX\BackgroundView.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHGame.cs" />
<Compile Include="..\GnollHackX\GnollHackX\UIUtils.cs" />
<Compile Include="..\GnollHackX\GnollHackX\CustomLabel.cs" />
<Compile Include="..\GnollHackX\GnollHackX\DiscordWebHookAttachedFile.cs" />
<Compile Include="..\GnollHackX\GnollHackX\DiscordWebHookPost.cs" />
<Compile Include="..\GnollHackX\GnollHackX\DiscordWebHookPostWithAttachment.cs" />
<Compile Include="..\GnollHackX\GnollHackX\EventArgs.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHPost.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHPostAttachment.cs" />
<Compile Include="..\GnollHackX\GnollHackX\HttpClientDownloadWithProgress.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHAnimationTimerList.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHApp.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHButton.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHCachedImage.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHColors.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHCommandButtonItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHConstants.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHDelegates.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHEditor.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHFloatingText.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHConditionText.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHDrawCommand.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHGUIEffect.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHNumberPickItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHMenuInfo.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHMenuItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHMsgHistoryItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHOutRipInfo.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHPetDataItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHPutStrItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHPutStrInstructions.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHRecordedFunctionCall.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHRecordedGameFile.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHResponse.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHRequest.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHScreenFilter.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHScreenText.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHSkiaFontPaint.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHStatusField.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHTopScoreItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHUtils.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GHWindow.cs" />
<Compile Include="..\GnollHackX\GnollHackX\GlyphImageSource.cs" />
<Compile Include="..\GnollHackX\GnollHackX.Common\GnollHackService.cs" />
<Compile Include="..\GnollHackX\GnollHackX\IGnollHackService.cs" />
<Compile Include="..\GnollHackX\GnollHackX\IPlatformService.cs" />
<Compile Include="..\GnollHackX\GnollHackX\IFMODService.cs" />
<Compile Include="..\GnollHackX\GnollHackX\ImageCarousel.cs" />
<Compile Include="..\GnollHackX\GnollHackX\MapData.cs" />
<Compile Include="..\GnollHackX\GnollHackX\ObjectData.cs" />
<Compile Include="..\GnollHackX\GnollHackX\ObjectDataItem.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Secrets.cs" />
<Compile Include="..\GnollHackX\GnollHackX\SecretsDirectory.cs" />
<Compile Include="..\GnollHackX\GnollHackX\SecretsFile.cs" />
<Compile Include="..\GnollHackX\GnollHackX\SelectableShortcutButton.cs" />
<Compile Include="..\GnollHackX\GnollHackX\StoredManual.cs" />
<Compile Include="..\GnollHackX\GnollHackX\UserSecrets.cs" />
<Compile Include="..\GnollHackX\GnollHackX.FMOD\fmod.cs" />
<Compile Include="..\GnollHackX\GnollHackX.FMOD\fmod_studio.cs" />
<Compile Include="..\GnollHackX\GnollHackX.FMOD\fmod_errors.cs" />
<Compile Include="..\GnollHackX\GnollHackX.FMOD\fmod_dsp.cs" />
<Compile Include="..\GnollHackX\GnollHackX.FMOD\FMODService.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Controls\CustomImageButton.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Controls\LabeledImageButton.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Controls\RowImageButton.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Controls\SimpleImageButton.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Controls\SwitchableCanvasView.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\AboutPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\ResetPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\SettingsPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\VaultPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\TopScorePage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\LibraryPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\DisplayFilePage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\ReplayPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\ImportExportPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\EditorPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\MainScreen\VersionPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\Game\GameMenuPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\Game\GamePage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\Game\NamePage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\Pages\Game\OutRipPage.xaml.cs" />
<Compile Include="..\GnollHackX\GnollHackX\MainPage.xaml.cs" />
</ItemGroup>
<ItemGroup>
<None Remove="Assets\archristy.ttf" />
<None Remove="Assets\button_disabled.png" />
<None Remove="Assets\button_normal.png" />
<None Remove="Assets\button_selected.png" />
<None Remove="Assets\DejaVuSansMono-Bold.ttf" />
<None Remove="Assets\DejaVuSansMono-BoldOblique.ttf" />
<None Remove="Assets\DejaVuSansMono-Oblique.ttf" />
<None Remove="Assets\DejaVuSansMono.ttf" />
<None Remove="Assets\dgn_entrance.jpg" />
<None Remove="Assets\diablo_h.ttf" />
<None Remove="Assets\endr.ttf" />
<None Remove="Assets\FMOD-Logo-192-White.png" />
<None Remove="Assets\ghsecrets.sjson" />
<None Remove="Assets\ghsettings.json" />
<None Remove="Assets\gnollhack-logo-test-2.png" />
<None Remove="Assets\gnollhack_64x96_transparent_32bits-2.png" />
<None Remove="Assets\gnollhack_64x96_transparent_32bits.png" />
<None Remove="Assets\Immortal-Regular.ttf" />
<None Remove="Assets\Lato-Bold.ttf" />
<None Remove="Assets\Lato-Regular.ttf" />
<None Remove="Assets\main-menu-dwarf.jpg" />
<None Remove="Assets\main-menu-gnoll.jpg" />
<None Remove="Assets\main-menu-ranger.jpg" />
<None Remove="Assets\shxi.ttf" />
<None Remove="Assets\tombstone.png" />
<None Remove="Assets\UI\abilities.png" />
<None Remove="Assets\UI\apply.png" />
<None Remove="Assets\UI\arrow_down.png" />
<None Remove="Assets\UI\arrow_downleft.png" />
<None Remove="Assets\UI\arrow_downright.png" />
<None Remove="Assets\UI\arrow_left.png" />
<None Remove="Assets\UI\arrow_right.png" />
<None Remove="Assets\UI\arrow_up.png" />
<None Remove="Assets\UI\arrow_upleft.png" />
<None Remove="Assets\UI\arrow_upright.png" />
<None Remove="Assets\UI\attributes.png" />
<None Remove="Assets\UI\autopickup.png" />
<None Remove="Assets\UI\background-loading-screen.png" />
<None Remove="Assets\UI\background-oldpaper.png" />
<None Remove="Assets\UI\break.png" />
<None Remove="Assets\UI\cancel.png" />
<None Remove="Assets\UI\cast.png" />
<None Remove="Assets\UI\chat.png" />
<None Remove="Assets\UI\chatsteed.png" />
<None Remove="Assets\UI\chronicle.png" />
<None Remove="Assets\UI\close.png" />
<None Remove="Assets\UI\commands.png" />
<None Remove="Assets\UI\conduct.png" />
<None Remove="Assets\UI\count.png" />
<None Remove="Assets\UI\dig.png" />
<None Remove="Assets\UI\dip.png" />
<None Remove="Assets\UI\discoveries.png" />
<None Remove="Assets\UI\dropmany.png" />
<None Remove="Assets\UI\droptypes.png" />
<None Remove="Assets\UI\eat.png" />
<None Remove="Assets\UI\engrave.png" />
<None Remove="Assets\UI\examine.png" />
<None Remove="Assets\UI\exit-to-map.png" />
<None Remove="Assets\UI\extended.png" />
<None Remove="Assets\UI\fight.png" />
<None Remove="Assets\UI\fire.png" />
<None Remove="Assets\UI\forcelock.png" />
<None Remove="Assets\UI\frame-horizontal.png" />
<None Remove="Assets\UI\frame-topleft-small.png" />
<None Remove="Assets\UI\frame-topleft.png" />
<None Remove="Assets\UI\frame-vertical.png" />
<None Remove="Assets\UI\genesis.png" />
<None Remove="Assets\UI\genocided.png" />
<None Remove="Assets\UI\handedness.png" />
<None Remove="Assets\UI\help.png" />
<None Remove="Assets\UI\identify.png" />
<None Remove="Assets\UI\inventory.png" />
<None Remove="Assets\UI\invoke.png" />
<None Remove="Assets\UI\jump.png" />
<None Remove="Assets\UI\kick.png" />
<None Remove="Assets\UI\killed.png" />
<None Remove="Assets\UI\lastitem.png" />
<None Remove="Assets\UI\leftring.png" />
<None Remove="Assets\UI\levelchange.png" />
<None Remove="Assets\UI\levelport.png" />
<None Remove="Assets\UI\License.txt" />
<None Remove="Assets\UI\light.png" />
<None Remove="Assets\UI\load.png" />
<None Remove="Assets\UI\lookfar.png" />
<None Remove="Assets\UI\lookhere.png" />
<None Remove="Assets\UI\loot.png" />
<None Remove="Assets\UI\menubackground.png" />
<None Remove="Assets\UI\missing_icon.png" />
<None Remove="Assets\UI\mix.png" />
<None Remove="Assets\UI\monster.png" />
<None Remove="Assets\UI\more.png" />
<None Remove="Assets\UI\name.png" />
<None Remove="Assets\UI\next.png" />
<None Remove="Assets\UI\no.png" />
<None Remove="Assets\UI\offer.png" />
<None Remove="Assets\UI\open.png" />
<None Remove="Assets\UI\orb_border.png" />
<None Remove="Assets\UI\orb_fill.png" />
<None Remove="Assets\UI\orb_glass.png" />
<None Remove="Assets\UI\overview.png" />
<None Remove="Assets\UI\pay.png" />
<None Remove="Assets\UI\pickup.png" />
<None Remove="Assets\UI\polymorph.png" />
<None Remove="Assets\UI\pray.png" />
<None Remove="Assets\UI\previous.png" />
<None Remove="Assets\UI\puton.png" />
<None Remove="Assets\UI\quaff.png" />
<None Remove="Assets\UI\quiver.png" />
<None Remove="Assets\UI\read.png" />
<None Remove="Assets\UI\remove.png" />
<None Remove="Assets\UI\repeat.png" />
<None Remove="Assets\UI\rest.png" />
<None Remove="Assets\UI\reveal.png" />
<None Remove="Assets\UI\ride.png" />
<None Remove="Assets\UI\rightring.png" />
<None Remove="Assets\UI\rub.png" />
<None Remove="Assets\UI\save.png" />
<None Remove="Assets\UI\scroll.png" />
<None Remove="Assets\UI\search.png" />
<None Remove="Assets\UI\search20.png" />
<None Remove="Assets\UI\search200.png" />
<None Remove="Assets\UI\select.png" />
<None Remove="Assets\UI\sit.png" />
<None Remove="Assets\UI\skill.png" />
<None Remove="Assets\UI\spells.png" />
<None Remove="Assets\UI\stairs-down.png" />
<None Remove="Assets\UI\stairs-up.png" />
<None Remove="Assets\UI\status-ac.png" />
<None Remove="Assets\UI\status-casual-classic-mode.png" />
<None Remove="Assets\UI\status-casual-mode.png" />
<None Remove="Assets\UI\status-difficulty-average.png" />
<None Remove="Assets\UI\status-difficulty-easy.png" />
<None Remove="Assets\UI\status-difficulty-expert.png" />
<None Remove="Assets\UI\status-difficulty-grand-master.png" />
<None Remove="Assets\UI\status-difficulty-hard.png" />
<None Remove="Assets\UI\status-difficulty-master.png" />
<None Remove="Assets\UI\status-difficulty-very-easy.png" />
<None Remove="Assets\UI\status-difficulty.png" />
<None Remove="Assets\UI\status-dungeon-level.png" />
<None Remove="Assets\UI\status-empty-handed.png" />
<None Remove="Assets\UI\status-gold.png" />
<None Remove="Assets\UI\status-hd.png" />
<None Remove="Assets\UI\status-mc.png" />
<None Remove="Assets\UI\status-modern-mode.png" />
<None Remove="Assets\UI\status-move.png" />
<None Remove="Assets\UI\status-turns.png" />
<None Remove="Assets\UI\status-weapon-style.png" />
<None Remove="Assets\UI\status-wizard-mode.png" />
<None Remove="Assets\UI\status-xp-level.png" />
<None Remove="Assets\UI\stone-altmap-off.png" />
<None Remove="Assets\UI\stone-altmap-on.png" />
<None Remove="Assets\UI\stone-autocenter-off.png" />
<None Remove="Assets\UI\stone-autocenter-on.png" />
<None Remove="Assets\UI\stone-cancel.png" />
<None Remove="Assets\UI\stone-look-off.png" />
<None Remove="Assets\UI\stone-look-on.png" />
<None Remove="Assets\UI\stone-menu.png" />
<None Remove="Assets\UI\stone-minimap-off.png" />
<None Remove="Assets\UI\stone-minimap-on.png" />
<None Remove="Assets\UI\stone-travel-off.png" />
<None Remove="Assets\UI\stone-travel-on.png" />
<None Remove="Assets\UI\swap.png" />
<None Remove="Assets\UI\symbol-adds.png" />
<None Remove="Assets\UI\symbol-casts.png" />
<None Remove="Assets\UI\symbol-cooldown.png" />
<None Remove="Assets\UI\symbol-food.png" />
<None Remove="Assets\UI\symbol-mana.png" />
<None Remove="Assets\UI\symbol-spell-abjuration.png" />
<None Remove="Assets\UI\symbol-spell-arcane.png" />
<None Remove="Assets\UI\symbol-spell-celestial.png" />
<None Remove="Assets\UI\symbol-spell-clerical.png" />
<None Remove="Assets\UI\symbol-spell-conjuration.png" />
<None Remove="Assets\UI\symbol-spell-divination.png" />
<None Remove="Assets\UI\symbol-spell-enchantment.png" />
<None Remove="Assets\UI\symbol-spell-healing.png" />
<None Remove="Assets\UI\symbol-spell-movement.png" />
<None Remove="Assets\UI\symbol-spell-nature.png" />
<None Remove="Assets\UI\symbol-spell-necromancy.png" />
<None Remove="Assets\UI\symbol-spell-transmutation.png" />
<None Remove="Assets\UI\symbol-success.png" />
<None Remove="Assets\UI\takeoff.png" />
<None Remove="Assets\UI\takeoffmany.png" />
<None Remove="Assets\UI\target-downwards.png" />
<None Remove="Assets\UI\target-self.png" />
<None Remove="Assets\UI\target-upwards.png" />
<None Remove="Assets\UI\teleport.png" />
<None Remove="Assets\UI\throw.png" />
<None Remove="Assets\UI\tip.png" />
<None Remove="Assets\UI\travel.png" />
<None Remove="Assets\UI\twoweap.png" />
<None Remove="Assets\UI\untrap.png" />
<None Remove="Assets\UI\unwield.png" />
<None Remove="Assets\UI\viewspell.png" />
<None Remove="Assets\UI\vitruvian-gnoll.png" />
<None Remove="Assets\UI\wait.png" />
<None Remove="Assets\UI\wear.png" />
<None Remove="Assets\UI\whatis.png" />
<None Remove="Assets\UI\wield.png" />
<None Remove="Assets\UI\wipe.png" />
<None Remove="Assets\UI\wish.png" />
<None Remove="Assets\UI\yell.png" />
<None Remove="Assets\UI\yes.png" />
<None Remove="Assets\UI\yestoall.png" />
<None Remove="Assets\UI\you.png" />
<None Remove="Assets\UI\zap.png" />
<None Remove="Assets\uwch.ttf" />
<None Remove="Platforms\Android\jars\fmod.jar" />
<None Remove="Platforms\Android\libs\arm64-v8a\libc++_shared.so" />
<None Remove="Platforms\Android\libs\arm64-v8a\libfmod.so" />
<None Remove="Platforms\Android\libs\arm64-v8a\libfmodstudio.so" />
<None Remove="Platforms\Android\libs\arm64-v8a\libgnollhackdroid.so" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net9.0-android'">
<EmbeddedJar Include="Platforms\Android\jars\fmod.jar" />
<AndroidLibrary Include="Platforms\Android\jars\fmod.jar" />
<AndroidNativeLibrary Include="Platforms\Android\libs\arm64-v8a\libfmod.so" />
<AndroidNativeLibrary Include="Platforms\Android\libs\arm64-v8a\libfmodstudio.so" />
<AndroidNativeLibrary Include="Platforms\Android\libs\arm64-v8a\libgnollhackdroid.so" />
<AndroidNativeLibrary Include="Platforms\Android\libs\arm64-v8a\libc++_shared.so" />
<AndroidAsset Include="Platforms\Android\gnh\credits" />
<AndroidAsset Include="Platforms\Android\gnh\license" />
<AndroidAsset Include="Platforms\Android\gnh\logfile" />
<AndroidAsset Include="Platforms\Android\gnh\nhdat" />
<AndroidAsset Include="Platforms\Android\gnh\record" />
<AndroidAsset Include="Platforms\Android\gnh\symbols" />
<AndroidAsset Include="Platforms\Android\gnh\sysconf" />
<AndroidAsset Include="Platforms\Android\gnh\perm" />
<AndroidAsset Include="Platforms\Android\gnh\recover" />
<AndroidAsset Include="Platforms\Android\gnh\xlogfile" />
<AndroidAsset Include="Platforms\Android\gnh\defaults.gnh" />
<AndroidAsset Include="Platforms\Android\gnh\xcredits" />
<AndroidAsset Include="Platforms\Android\banks\Master.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAsset Include="Platforms\Android\banks\Auxiliary.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAsset Include="Platforms\Android\banks\Intro.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAsset Include="Platforms\Android\banks\Master.strings.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAsset Include="Platforms\Android\banks\Music.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAsset Include="Platforms\Android\banks\Preliminary.bank" Condition=" '$(AndroidPackageFormat)' == 'apk' " />
<AndroidAppBundleModules Include="Platforms\Android\assetpacks\ondemandassetpack.zip" Condition=" '$(AndroidPackageFormat)' != 'apk' " />
<AndroidAppBundleModules Include="Platforms\Android\assetpacks\installtimeassetpack.zip" Condition=" '$(AndroidPackageFormat)' != 'apk' " />
<Compile Include="..\GnollHackX\GnollHackX.Android\PlatformServiceAndroid.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net9.0-ios' or '$(TargetFramework)'=='net9.0-maccatalyst'">
<NativeReference Include="Platforms\iOS\libs\libfmodstudio_iphoneos.a">
<Kind>Static</Kind>
<Frameworks>AudioToolbox CoreAudio</Frameworks>
<ForceLoad>True</ForceLoad>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</NativeReference>
<NativeReference Include="Platforms\iOS\libs\libfmod_iphoneos.a">
<Kind>Static</Kind>
<Frameworks>AudioToolbox CoreAudio</Frameworks>
<ForceLoad>True</ForceLoad>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</NativeReference>
<NativeReference Include="Platforms\iOS\libs\libgnollhackios.a">
<Kind>Static</Kind>
<ForceLoad>True</ForceLoad>
<IsCxx>True</IsCxx>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</NativeReference>
<BundleResource Include="Platforms\iOS\gnh\credits" />
<BundleResource Include="Platforms\iOS\gnh\defaults.gnh" />
<BundleResource Include="Platforms\iOS\gnh\license" />
<BundleResource Include="Platforms\iOS\gnh\logfile" />
<BundleResource Include="Platforms\iOS\gnh\nhdat" />
<BundleResource Include="Platforms\iOS\gnh\perm" />
<BundleResource Include="Platforms\iOS\gnh\record" />
<BundleResource Include="Platforms\iOS\gnh\recover" />
<BundleResource Include="Platforms\iOS\gnh\symbols" />
<BundleResource Include="Platforms\iOS\gnh\sysconf" />
<BundleResource Include="Platforms\iOS\gnh\xcredits" />
<BundleResource Include="Platforms\iOS\gnh\xlogfile" />
<BundleResource Include="Platforms\iOS\banks\Auxiliary.bank" />
<BundleResource Include="Platforms\iOS\banks\Intro.bank" />
<BundleResource Include="Platforms\iOS\banks\Master.bank" />
<BundleResource Include="Platforms\iOS\banks\Master.strings.bank" />
<BundleResource Include="Platforms\iOS\banks\Music.bank" />
<BundleResource Include="Platforms\iOS\banks\Preliminary.bank" />
<Compile Include="..\GnollHackX\GnollHackX.iOS\PlatformServiceiOS.cs" />
</ItemGroup>
<PropertyGroup>
<DefineConstants>$(DefineConstants);GNH_MAUI</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net9.0-ios'">
<DefineConstants>$(DefineConstants);UNITY_IPHONE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Debug|net9.0-ios'">
<MtouchLink>None</MtouchLink>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Release|net9.0-ios'">
<MtouchLink>SdkOnly</MtouchLink>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Debug|net9.0-android'">
<PublishTrimmed>False</PublishTrimmed>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Release|net9.0-android'">
<PublishTrimmed>True</PublishTrimmed>
<TrimMode>partial</TrimMode>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Assets\archristy.ttf" />
<EmbeddedResource Include="Assets\button_disabled.png" />
<EmbeddedResource Include="Assets\button_normal.png" />
<EmbeddedResource Include="Assets\button_selected.png" />
<EmbeddedResource Include="Assets\DejaVuSansMono-Bold.ttf" />
<EmbeddedResource Include="Assets\DejaVuSansMono-BoldOblique.ttf" />
<EmbeddedResource Include="Assets\DejaVuSansMono-Oblique.ttf" />
<EmbeddedResource Include="Assets\DejaVuSansMono.ttf" />
<EmbeddedResource Include="Assets\dgn_entrance.jpg" />
<EmbeddedResource Include="Assets\diablo_h.ttf" />
<EmbeddedResource Include="Assets\endr.ttf" />
<EmbeddedResource Include="Assets\FMOD-Logo-192-White.png" />
<EmbeddedResource Include="Assets\ghsecrets.sjson" />
<EmbeddedResource Include="Assets\ghsettings.json" />
<EmbeddedResource Include="Assets\gnollhack-logo-test-2.png" />
<EmbeddedResource Include="Assets\gnollhack_64x96_transparent_32bits-2.png" />
<EmbeddedResource Include="Assets\gnollhack_64x96_transparent_32bits.png" />
<EmbeddedResource Include="Assets\Immortal-Regular.ttf" />
<EmbeddedResource Include="Assets\Lato-Bold.ttf" />
<EmbeddedResource Include="Assets\Lato-Regular.ttf" />
<EmbeddedResource Include="Assets\main-menu-dwarf.jpg" />
<EmbeddedResource Include="Assets\main-menu-gnoll.jpg" />
<EmbeddedResource Include="Assets\main-menu-ranger.jpg" />
<EmbeddedResource Include="Assets\shxi.ttf" />
<EmbeddedResource Include="Assets\tombstone.png" />
<EmbeddedResource Include="Assets\UI\abilities.png" />
<EmbeddedResource Include="Assets\UI\apply.png" />
<EmbeddedResource Include="Assets\UI\arrow_down.png" />
<EmbeddedResource Include="Assets\UI\arrow_downleft.png" />
<EmbeddedResource Include="Assets\UI\arrow_downright.png" />
<EmbeddedResource Include="Assets\UI\arrow_left.png" />
<EmbeddedResource Include="Assets\UI\arrow_right.png" />
<EmbeddedResource Include="Assets\UI\arrow_up.png" />
<EmbeddedResource Include="Assets\UI\arrow_upleft.png" />
<EmbeddedResource Include="Assets\UI\arrow_upright.png" />
<EmbeddedResource Include="Assets\UI\attributes.png" />
<EmbeddedResource Include="Assets\UI\autopickup.png" />
<EmbeddedResource Include="Assets\UI\autostash.png" />
<EmbeddedResource Include="Assets\UI\background-loading-screen.png" />
<EmbeddedResource Include="Assets\UI\background-oldpaper.png" />
<EmbeddedResource Include="Assets\UI\battery-frame.png" />
<EmbeddedResource Include="Assets\UI\break.png" />
<EmbeddedResource Include="Assets\UI\cancel.png" />
<EmbeddedResource Include="Assets\UI\cast.png" />
<EmbeddedResource Include="Assets\UI\chat.png" />
<EmbeddedResource Include="Assets\UI\chatsteed.png" />
<EmbeddedResource Include="Assets\UI\chronicle.png" />
<EmbeddedResource Include="Assets\UI\close.png" />
<EmbeddedResource Include="Assets\UI\commands.png" />
<EmbeddedResource Include="Assets\UI\conduct.png" />
<EmbeddedResource Include="Assets\UI\count.png" />
<EmbeddedResource Include="Assets\UI\dig.png" />
<EmbeddedResource Include="Assets\UI\dip.png" />
<EmbeddedResource Include="Assets\UI\discoveries.png" />
<EmbeddedResource Include="Assets\UI\dropmany.png" />
<EmbeddedResource Include="Assets\UI\droptypes.png" />
<EmbeddedResource Include="Assets\UI\eat.png" />
<EmbeddedResource Include="Assets\UI\engrave.png" />
<EmbeddedResource Include="Assets\UI\examine.png" />
<EmbeddedResource Include="Assets\UI\exit-to-map.png" />
<EmbeddedResource Include="Assets\UI\extended.png" />
<EmbeddedResource Include="Assets\UI\fight.png" />
<EmbeddedResource Include="Assets\UI\fire.png" />
<EmbeddedResource Include="Assets\UI\forcelock.png" />
<EmbeddedResource Include="Assets\UI\fps.png" />
<EmbeddedResource Include="Assets\UI\frame-horizontal.png" />
<EmbeddedResource Include="Assets\UI\frame-topleft-small.png" />
<EmbeddedResource Include="Assets\UI\frame-topleft.png" />
<EmbeddedResource Include="Assets\UI\frame-vertical.png" />
<EmbeddedResource Include="Assets\UI\frame2-horizontal.png" />
<EmbeddedResource Include="Assets\UI\frame2-topleft-small.png" />
<EmbeddedResource Include="Assets\UI\frame2-topleft.png" />
<EmbeddedResource Include="Assets\UI\frame2-vertical.png" />
<EmbeddedResource Include="Assets\UI\genesis.png" />
<EmbeddedResource Include="Assets\UI\genocided.png" />
<EmbeddedResource Include="Assets\UI\handedness.png" />
<EmbeddedResource Include="Assets\UI\help.png" />
<EmbeddedResource Include="Assets\UI\identify.png" />
<EmbeddedResource Include="Assets\UI\inventory.png" />
<EmbeddedResource Include="Assets\UI\invoke.png" />
<EmbeddedResource Include="Assets\UI\jump.png" />
<EmbeddedResource Include="Assets\UI\kick.png" />
<EmbeddedResource Include="Assets\UI\killed.png" />
<EmbeddedResource Include="Assets\UI\lastitem.png" />
<EmbeddedResource Include="Assets\UI\leftring.png" />
<EmbeddedResource Include="Assets\UI\levelchange.png" />
<EmbeddedResource Include="Assets\UI\levelport.png" />
<EmbeddedResource Include="Assets\UI\License.txt" />
<EmbeddedResource Include="Assets\UI\light.png" />
<EmbeddedResource Include="Assets\UI\load.png" />
<EmbeddedResource Include="Assets\UI\lookfar.png" />
<EmbeddedResource Include="Assets\UI\lookhere.png" />
<EmbeddedResource Include="Assets\UI\loot.png" />
<EmbeddedResource Include="Assets\UI\menubackground.png" />
<EmbeddedResource Include="Assets\UI\missing_icon.png" />
<EmbeddedResource Include="Assets\UI\mix.png" />
<EmbeddedResource Include="Assets\UI\monster.png" />
<EmbeddedResource Include="Assets\UI\more.png" />
<EmbeddedResource Include="Assets\UI\name.png" />
<EmbeddedResource Include="Assets\UI\next.png" />
<EmbeddedResource Include="Assets\UI\no.png" />
<EmbeddedResource Include="Assets\UI\offer.png" />
<EmbeddedResource Include="Assets\UI\open.png" />
<EmbeddedResource Include="Assets\UI\orb_border.png" />
<EmbeddedResource Include="Assets\UI\orb_fill.png" />
<EmbeddedResource Include="Assets\UI\orb_glass.png" />
<EmbeddedResource Include="Assets\UI\overview.png" />
<EmbeddedResource Include="Assets\UI\pay.png" />
<EmbeddedResource Include="Assets\UI\picktobag.png" />
<EmbeddedResource Include="Assets\UI\pickup.png" />
<EmbeddedResource Include="Assets\UI\polymorph.png" />
<EmbeddedResource Include="Assets\UI\pray.png" />
<EmbeddedResource Include="Assets\UI\previous.png" />
<EmbeddedResource Include="Assets\UI\puton.png" />
<EmbeddedResource Include="Assets\UI\quaff.png" />
<EmbeddedResource Include="Assets\UI\quiver.png" />
<EmbeddedResource Include="Assets\UI\read.png" />
<EmbeddedResource Include="Assets\UI\remove.png" />
<EmbeddedResource Include="Assets\UI\repeat.png" />
<EmbeddedResource Include="Assets\UI\rest.png" />
<EmbeddedResource Include="Assets\UI\reveal.png" />
<EmbeddedResource Include="Assets\UI\ride.png" />
<EmbeddedResource Include="Assets\UI\rightring.png" />
<EmbeddedResource Include="Assets\UI\rub.png" />
<EmbeddedResource Include="Assets\UI\save.png" />
<EmbeddedResource Include="Assets\UI\scroll.png" />
<EmbeddedResource Include="Assets\UI\search.png" />
<EmbeddedResource Include="Assets\UI\search20.png" />
<EmbeddedResource Include="Assets\UI\search200.png" />
<EmbeddedResource Include="Assets\UI\select.png" />
<EmbeddedResource Include="Assets\UI\sit.png" />
<EmbeddedResource Include="Assets\UI\skill.png" />
<EmbeddedResource Include="Assets\UI\spells.png" />
<EmbeddedResource Include="Assets\UI\stairs-down.png" />
<EmbeddedResource Include="Assets\UI\stairs-up.png" />
<EmbeddedResource Include="Assets\UI\status-ac.png" />
<EmbeddedResource Include="Assets\UI\status-casual-classic-mode.png" />
<EmbeddedResource Include="Assets\UI\status-casual-mode.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-average.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-easy.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-expert.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-grand-master.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-hard.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-master.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty-very-easy.png" />
<EmbeddedResource Include="Assets\UI\status-difficulty.png" />
<EmbeddedResource Include="Assets\UI\status-dungeon-level.png" />
<EmbeddedResource Include="Assets\UI\status-empty-handed.png" />
<EmbeddedResource Include="Assets\UI\status-gold.png" />
<EmbeddedResource Include="Assets\UI\status-hd.png" />
<EmbeddedResource Include="Assets\UI\status-mc.png" />
<EmbeddedResource Include="Assets\UI\status-modern-mode.png" />
<EmbeddedResource Include="Assets\UI\status-move.png" />
<EmbeddedResource Include="Assets\UI\status-quivered-weapon-style.png" />
<EmbeddedResource Include="Assets\UI\status-turns.png" />
<EmbeddedResource Include="Assets\UI\status-weapon-style.png" />
<EmbeddedResource Include="Assets\UI\status-wizard-mode.png" />
<EmbeddedResource Include="Assets\UI\status-xp-level.png" />
<EmbeddedResource Include="Assets\UI\stone-altmap-off.png" />
<EmbeddedResource Include="Assets\UI\stone-altmap-on.png" />
<EmbeddedResource Include="Assets\UI\stone-autocenter-off.png" />
<EmbeddedResource Include="Assets\UI\stone-autocenter-on.png" />
<EmbeddedResource Include="Assets\UI\stone-cancel.png" />
<EmbeddedResource Include="Assets\UI\stone-look-off.png" />
<EmbeddedResource Include="Assets\UI\stone-look-on.png" />
<EmbeddedResource Include="Assets\UI\stone-menu.png" />
<EmbeddedResource Include="Assets\UI\stone-minimap-off.png" />
<EmbeddedResource Include="Assets\UI\stone-minimap-on.png" />
<EmbeddedResource Include="Assets\UI\stone-travel-off.png" />
<EmbeddedResource Include="Assets\UI\stone-travel-on.png" />
<EmbeddedResource Include="Assets\UI\swap.png" />
<EmbeddedResource Include="Assets\UI\symbol-adds.png" />
<EmbeddedResource Include="Assets\UI\symbol-casts.png" />
<EmbeddedResource Include="Assets\UI\symbol-cooldown.png" />
<EmbeddedResource Include="Assets\UI\symbol-damage.png" />
<EmbeddedResource Include="Assets\UI\symbol-food.png" />
<EmbeddedResource Include="Assets\UI\symbol-mana.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-abjuration.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-arcane.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-celestial.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-clerical.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-conjuration.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-divination.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-enchantment.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-healing.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-movement.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-nature.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-necromancy.png" />
<EmbeddedResource Include="Assets\UI\symbol-spell-transmutation.png" />
<EmbeddedResource Include="Assets\UI\symbol-success.png" />
<EmbeddedResource Include="Assets\UI\takeoff.png" />
<EmbeddedResource Include="Assets\UI\takeoffmany.png" />
<EmbeddedResource Include="Assets\UI\target-downwards.png" />
<EmbeddedResource Include="Assets\UI\target-self.png" />
<EmbeddedResource Include="Assets\UI\target-upwards.png" />
<EmbeddedResource Include="Assets\UI\teleport.png" />
<EmbeddedResource Include="Assets\UI\throw.png" />
<EmbeddedResource Include="Assets\UI\tip.png" />
<EmbeddedResource Include="Assets\UI\travel.png" />
<EmbeddedResource Include="Assets\UI\twoweap.png" />
<EmbeddedResource Include="Assets\UI\untrap.png" />
<EmbeddedResource Include="Assets\UI\unwield.png" />
<EmbeddedResource Include="Assets\UI\viewspell.png" />
<EmbeddedResource Include="Assets\UI\vitruvian-gnoll.png" />
<EmbeddedResource Include="Assets\UI\wait.png" />
<EmbeddedResource Include="Assets\UI\wear.png" />
<EmbeddedResource Include="Assets\UI\whatis.png" />
<EmbeddedResource Include="Assets\UI\wield.png" />
<EmbeddedResource Include="Assets\UI\wipe.png" />
<EmbeddedResource Include="Assets\UI\wish.png" />
<EmbeddedResource Include="Assets\UI\yell.png" />
<EmbeddedResource Include="Assets\UI\yes.png" />
<EmbeddedResource Include="Assets\UI\yestoall.png" />
<EmbeddedResource Include="Assets\UI\you.png" />
<EmbeddedResource Include="Assets\UI\zap.png" />
<EmbeddedResource Include="Assets\uwch.ttf" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Azure.Identity" Version="1.10.4" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.19.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0-preview.2.24128.5" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="SkiaSharp" Version="3.0.0-preview.2.1" />
<PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.0.0-preview.2.1" />
<PackageReference Include="SkiaSharp.Views.Maui.Core" Version="3.0.0-preview.2.1" />
<PackageReference Include="Microsoft.Maui.Controls" Version="9.0.0-preview.2.10293" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
</ItemGroup>
<ItemGroup>
<Compile Update="GamePage.xaml.cs">
<DependentUpon>GamePage.xaml</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<MauiXaml Update="GamePage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
</ItemGroup>
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
<BundleResource Include="Platforms\iOS\PrivacyInfo.xcprivacy" LogicalName="PrivacyInfo.xcprivacy" />
</ItemGroup>
</Project>
Steps to Reproduce
- Open GnollHackM (win/win32/xpl/GnollHackM) project property page
- You get an exception
Link to public reproduction project repository
https://github.com/hyvanmielenpelit/GnollHack
Version with bug
Unknown/Other
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
9.0.0-preview.2.10293
Affected platforms
Windows
Affected platform versions
No response
Did you find any workaround?
No, have to open the project property file itself.
Relevant log output
No response
This in fact happens also in the default MAUI project as well.
Thanks for the issue report @janne-hmp! This issue appears to be a problem with Visual Studio, so we ask that you use the VS feedback tool to report the issue. That way it will get to the routed to the team that owns this experience in VS.
If you encounter a problem with Visual Studio, we want to know about it so that we can diagnose and fix it. By using the Report a Problem tool, you can collect detailed information about the problem, and send it to Microsoft with just a few button clicks.
- Go to the Visual Studio for Windows feedback tool or Visual Studio for Mac feedback tool to report the issue
- Close this bug, and consider adding a link to the VS Feedback issue so that others can follow its activity there.
@janne-hmp - I think you will find that .NET8 works OK. But please do create a Visual Studio feedback ticket, with the steps above, for this issue in .NET9 with 17.10.
Being followed by the Visual Studio team.