Open jkotas opened 4 years ago
@mateoatr Could you take a look at this?
Moving to SDK since the work should be here, and moving to .NET 6 since we won't get to this in the 5.0 time frame.
Moving this to backlog for the moment, but I'd be interested in taking this for 6.0.2xx -- it just requires some coordination with Roslyn.
@jkotas @agocke Can I ping the situation on this? I would be interested not only to have Windows 10 support in the default manifest but also comctl version 6 (to avoid having to do the Winforms manifest gymnastics e.g. in WPF applications), are there any compatibility concerns about that? I would think this could be done only starting with a particular version, like net9.0-windows.
No update yet. No one on the team currently has context on the issue so it would take some time to get ramped up, and it hasn't been high enough priority.
Not currently optimistic about it making .NET 8.
If your app needs a custom Win32 manifest, there is a simple workaround:
custom.manifest
file that has the manifest with your modifications. https://github.com/dotnet/runtime/blob/main/src/native/corehost/dotnet/dotnet.manifest is the default manifest that you can use as a baseline.<Win32Manifest>custom.manifest</Win32Manifest>
property to your .csproj fileThanks, I think it would be good to have the default manifest updated. Doesn't have to be for .NET 8 obviously, but comctl6 is supported on all Windows versions supported by .NET, and Windows 10 is the only supported OS since .NET 7. Not quite sure why that is not reflected in the default manifest. For WPF we could add a build task to patch the default manifest during compilation, but I was interested first why shouldn't everyone simply have a better manifest out of the box.
The manifest of self-contained apps does not contain Windows 10 supportedOS element. It means that self-contained applications run with compatibility shims by default.
The proposal based on the offline discussion:
-nowin32manifest
). There is a MS build property that drives this that we should set by default for .NET 5+, unless the app has explicitly provided manifest.Related: