Skip to content

Conversation

@mattleibow
Copy link
Member

This pull request makes updates to the Directory.Build.props file to adjust build and target platform configurations, particularly for manual test projects and app packaging.

Build and platform configuration changes:

  • Disabled automatic Appx bundle generation by setting <AppxBundle>Never</AppxBundle>, which can help avoid unnecessary packaging steps during builds.

Manual test platforms logic update:

  • Changed the way manual test target frameworks (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.

Copilot AI review requested due to automatic review settings January 16, 2026 22:27
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines -243 to +247
<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>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was missing. The xaml unit tests use it.

Comment on lines -263 to -267
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None of this is ever used - or should be used.

@rmarinho rmarinho merged commit 171d00b into main Jan 19, 2026
39 checks passed
@rmarinho rmarinho deleted the dev/cleanup branch January 19, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants