I have a Hyper-V VM in which I have replicated this issue. I have tried Windows Reset as well as an in-place upgrade (to the same build number). Neither one fixed it. The VM was originally a clean install of build 18362.30. I am unable to remove the .30
CU. It keeps upgrading itself to 18362.53, although that CU I can remove.
In my research, there seems to be some indication that adding KB updates or Language Packs when these .NET symptoms exist, may make it impossible to repair. Uninstalling the KB update or Language Pack has sometimes helped (with Servers).
So the simplest fix is a total wipe and clean install. I did not have this issue until I totally uninstalled .NET on this VM. It is the missing Parent Features that are blocking the reinstallation of .NET Features. The Parent Features are not the same
type of Feature On Demand as what we see in the Windows Features Control Panel.
An example of one of the chains of .NET features from a working system is below.
PS C:> Get-WindowsOptionalFeature -Online -Verbose -FeatureName NetFx4Extended-ASPNET45 VERBOSE: Target Image Version 10.0.18362.53
FeatureName : NetFx4Extended-ASPNET45
DisplayName : ASP.NET 4.8
Description : ASP.NET 4.8
RestartRequired : Possible
State : Disabled
CustomProperties :
ServerComponent\Description : .NET Framework ASP.NET 4.8
ServerComponent\DisplayName : ASP.NET 4.8
ServerComponent\Id : 429
ServerComponent\InstallWithParentByDefault : true
ServerComponent*Parent : NET-Framework-45-Core*
ServerComponent\Type : Feature
ServerComponent\UniqueName : NET-Framework-45-ASPNET
ServerComponent*NonAncestorDependencies\ServerComponent\UniqueName : NET-Framework-45-Extended*
ServerComponent\Deploys\Update\Name : NetFx4Extended-ASPNET45
ServerComponent\Version\Major : 4
ServerComponent\Version\Minor : 5