Skip to content

Conversation

@Lamparter
Copy link
Contributor

Resolved / Related Issues

Steps used to test these changes

  1. Build Files
  2. ...and if it works, this PR works

This PR introduces a new build experience for Files, where you can select the app environment using Visual Studio's built-in interface (this use case is the reason Configuration settings exist in Visual Studio)

image

I've created MSBuild targets that generate an AppX manifest file on the spot, and add correct assets appropriate to the build.

Ultimately, this PR simplifies the build experience by:

  • Removing the CD scripts Configure-*.ps1 (mostly)
  • Generating the AppX manifest file on the spot, so no clunky designer or copied files
  • Removing unnecessary configurations (aka Code Quality: Removed unnecessary configurations #16569)
  • Copying app assets at compile time
    • (no need to replace them manually, and all references to the app tiles are now src/Files.App/Assets/AppTiles/Current/** which contains the app tiles relevant to the build type.
  • Hiding unnecessary generated files through the ignore, such as AppX manifest files and automatically generated app tile assets.

@Lamparter
Copy link
Contributor Author

I'm aware that the issue #16680 wasn't marked as ready to build, but the exact benefits and differences introduced by this are hard to outline in the issue.
It is easier to just implement and then the reviewer can try it out for themselves.

@Lamparter
Copy link
Contributor Author

This level of integration is tricky to describe, as the actual benefits of this are unrealistic to measure outside of the actual implementation.
Perhaps this can serve as a "demo" for how it could be implemented in other apps.

@Lamparter Lamparter closed this Apr 9, 2025
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.

Code Quality: Add a solution configuration for each build of the app

1 participant