The Scenario
I have a very old website developed in .net (framework 1.1). The site has several problems with Internet Explorer 10/11 that can be fixed using compatibility view.
The Problem
Problem is that framework 1.1 doesn't recognize Internet Explorer 10/11 as an advanced capability browser, so a lot of features (for example javascript code) are disabled when a user with Internet Explorer 10/11 accesses the website.
Microsoft released patches to fix this problem for .net framework versions >=2.0 but not for framework 1.1.
What I already tried
I tried forcing IE7 Compatibility Mode in web.config or adding HTTP Header in IIS or directly inside html pages with:
<meta http-equiv="X-UA-Compatible" content="IE=7" />but this is not a valid solution, since javascript code is still missing due to the 1.1 framework issue.
The only working solution I found is manually setting Compatibility View in the browser, but some of my customers have problems activating Compatibility View since they don't have confidence with PCs.
My two cents
I know that probably the best solution would be to convert the entire project to a newer version of the framework (>=2.0), unfortunately the project is huge and its conversion would be very complex (the solution includes a lot of other projects, older classic ASP sections, Crystal Reports reports and so on...)
The real question
Is there a solution that doesn't require project conversion or manual operations from end user?
I managed to find a solution: basically I retarget my application to run under Framework 4.0 while the application is still compiled with Framework 1.1.
To accomplish this I followed this MSDN page. Here's an excerpt:
So my problem is solved in 2 steps:
add this section to the web.config file of the Framework 1.1 web application:
Now the application runs under Framework 4.0 therefore new browsers are correctly recognized and advanced features are available.