mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 17:56:44 +02:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request modernizes NuGet package management for the `Microsoft.CommandPalette.Extensions` native project by migrating from the older `packages.config` approach to the newer `PackageReference` style. It also updates the related project references and output handling in the toolkit project. These changes simplify dependency management and align with current best practices for native C++/WinRT projects. **NuGet package management modernization:** * Migrated `Microsoft.CommandPalette.Extensions.vcxproj` from `packages.config` to `PackageReference` style, specifying dependencies directly in the project file and removing the `packages.config` file. [[1]](diffhunk://#diff-ff17a18a84e1c666c8f05468624d55167ac13d2c0e36724e0df3ce1d83bdbbd4L3-L12) [[2]](diffhunk://#diff-ff17a18a84e1c666c8f05468624d55167ac13d2c0e36724e0df3ce1d83bdbbd4R27-R33) [[3]](diffhunk://#diff-13e4e73ced13b2508639b5e93c39b0f1ee6a978109c60d33e3a9d16bf24024bfL1-L17) * Removed legacy NuGet property groups, imports, and error-checking targets related to manual package restore, as these are now handled automatically by `PackageReference`. [[1]](diffhunk://#diff-ff17a18a84e1c666c8f05468624d55167ac13d2c0e36724e0df3ce1d83bdbbd4L3-L12) [[2]](diffhunk://#diff-ff17a18a84e1c666c8f05468624d55167ac13d2c0e36724e0df3ce1d83bdbbd4L165-L182) **Project reference and build output updates:** * Updated the project reference in `Microsoft.CommandPalette.Extensions.Toolkit.csproj` to not reference the output assembly directly, and added explicit inclusion and copying of the native implementation DLL and WinMD files to the output directory. **Cleanup of unused files:** * Removed `packages.config` from both the `Microsoft.CommandPalette.Extensions` and `PowerRenameUILib` projects, as dependencies are now managed via `PackageReference`. [[1]](diffhunk://#diff-13e4e73ced13b2508639b5e93c39b0f1ee6a978109c60d33e3a9d16bf24024bfL1-L17) [[2]](diffhunk://#diff-98d060eb88d212ec4ce70e1d30ec66043a998d67940648c917aa6609739d10d5L1-L19)
PowerToys Source Code
Code organization
The PowerToys are split into DLLs for each PowerToy module (modules folder), and an executable (runner folder) that loads and manages those DLLs.
The settings window is a separate executable, contained in settings-ui folder. It utilizes a WebView to display an HTML-based settings window.
The common contains code for a static library with helper functions, used by both the runner and the PowerToys modules.