Conversation
There was a problem hiding this comment.
Pull request overview
This PR cleans up the -dev solution file by removing obsolete configurations and streamlining build settings for manual test projects.
Changes:
- Removed legacy Visual Studio x64 and x86 platform configurations, simplifying to "Any CPU" only
- Added
<AppxBundle>Never</AppxBundle>to disable automatic Windows app bundle generation - Fixed manual test platform accumulation logic to self-reference instead of referencing device test platforms
- Removed deprecated Compatibility folder structure and projects from solution
- Added new test library project
Maui25871Library
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Microsoft.Maui-dev.sln | Removed x64/x86 build configurations, removed Compatibility projects, added Maui25871Library project, updated Visual Studio version to 18.3 |
| Directory.Build.props | Added AppxBundle=Never setting and corrected MauiManualTestsPlatforms to append to itself rather than MauiDeviceTestsPlatforms |
| <GenerateLibraryLayout>true</GenerateLibraryLayout> | ||
| <DisableEmbeddedXbf>false</DisableEmbeddedXbf> | ||
| <EnablePreviewMsixTooling>true</EnablePreviewMsixTooling> | ||
| <AppxBundle>Never</AppxBundle> |
There was a problem hiding this comment.
WinAppSDK 2.0 tries to do appx bundles, and we specifically are not wanting to do that. The reason is that it will build all platforms (x86, x84 and arm) on each build which will be slower - but we also do not want that as we have any cpu only.
| <MauiManualTestsPlatforms Condition="'$(IncludeWindowsTargetFrameworks)' == 'true'">$(WindowsMauiPlatforms);$(MauiDeviceTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeAndroidTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-android;$(MauiDeviceTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeMacCatalystTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-maccatalyst;$(MauiDeviceTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeIosTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-ios;$(MauiDeviceTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeWindowsTargetFrameworks)' == 'true'">$(WindowsMauiPlatforms);$(MauiManualTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeAndroidTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-android;$(MauiManualTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeMacCatalystTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-maccatalyst;$(MauiManualTestsPlatforms)</MauiManualTestsPlatforms> | ||
| <MauiManualTestsPlatforms Condition="'$(IncludeIosTargetFrameworks)' == 'true'">net$(_MauiDotNetVersion)-ios;$(MauiManualTestsPlatforms)</MauiManualTestsPlatforms> |
There was a problem hiding this comment.
This resulted in all the device tests tfms + the manual tests. I think the was a copy-pasteo
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{054C5BAC-3671-4F76-B32E-47CF4E64BB39}" | ||
| EndProject | ||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Core.UnitTests", "src\Compatibility\Core\tests\Compatibility.UnitTests\Compatibility.Core.UnitTests.csproj", "{1D950CD3-6778-4729-B6D9-446088093F34}" |
There was a problem hiding this comment.
This project needs compat, which is not in this sln.
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{50442BCE-D01E-36E8-5392-D3166C7E5B47}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maui25871Library", "src\Controls\tests\Maui25871Library\Maui25871Library.csproj", "{8820D95F-EB6D-4B70-4985-759AAC83CF68}" |
There was a problem hiding this comment.
This was missing. The xaml unit tests use it.
| Debug|x64 = Debug|x64 | ||
| Debug|x86 = Debug|x86 | ||
| Release|Any CPU = Release|Any CPU | ||
| Release|x64 = Release|x64 | ||
| Release|x86 = Release|x86 |
There was a problem hiding this comment.
None of this is ever used - or should be used.
This pull request makes updates to the
Directory.Build.propsfile to adjust build and target platform configurations, particularly for manual test projects and app packaging.Build and platform configuration changes:
<AppxBundle>Never</AppxBundle>, which can help avoid unnecessary packaging steps during builds.Manual test platforms logic update:
MauiManualTestsPlatforms) are aggregated for each platform (Windows, Android, MacCatalyst, iOS) to append to the existing list instead of the device tests list, improving consistency and potentially preventing duplicate or unintended test platform inclusions.