Mark `WebBrowser` and all related (e.g., HTML* types) as obsolete
See original GitHub issueIs your feature request related to a problem? Please describe
The WebBrowser
control is based on IE Trident engine, which is almost universally unusable for general web browsing these days. It is also based on COM/ActiveX, which poses difficulties in trimming/native AOT scenarios.
Also, Internet Explorer 11 has been retired and is officially out of support as of 15 June 2022. Whilst the underlying Trident engine (mshtml.dll) isn’t being removed (yet?) from Windows, the general guidance is to use the modern replacement, which is WebView2 web browser control.
Describe the solution you’d like and alternatives you’ve considered
For .NET 7 and .NET 8 decorate all web- and html-related types as obsolete (error: false
) with a link to directing developers use WebView2 control instead.
The obsoletion process entails the following:
- marking the API as obsolete, which will emit a build warning with a link to more information (refer to https://github.com/dotnet/designs/blob/main/accepted/2020/better-obsoletion/better-obsoletion.md),
- documenting the obsoletion (the team will work with the docs team to make sure the docs are updated),
- enhancing the .NET Upgrade Assistant to guide developer to use the WebView2 API instead (the team will work with .NET Upgrade Assistant team).
The obsoletion will also happen in several stages:
- .NET 7/8 release - build warnings/documentation only
- (likely) subsequent release - build errors / implementation removal
- (possibly) subsequent future release - complete removal of API.
Will this feature affect UI controls?
The affected controls will need to be made hidden from the designer.
Issue Analytics
- State:
- Created a year ago
- Reactions:8
- Comments:8 (7 by maintainers)
Top GitHub Comments
Bye bye IE. let mark classes as obsolete. What are internal position? Does any discussion should happen for this plan?
Don’t hurry up with that. Windows 8.1 is with extended support until January 10, 2023 and as we all know it it has IE11, Trident. Trident itself is fully working and functional in Windows 10,11 and not marked as obsolete. It makes sense to obsolete it here when Microsoft plans removing Trident ? I think this won’t happen anytime soon as this will end HTA,Vbscript,Jscript and everything related. That means end of job of many system administrators and WW3