On Windows Hosting every website runs inside an IIS application pool. The pool decides which version of the .NET runtime (CLR) loads your code and how IIS passes requests to ASP.NET. If the pool doesn't match what your site was built for, the site fails before a single line of your code runs.
You control the pool yourself in StackCP with the Manage App Pool tool.
Supported ASP.NET versions
Windows Hosting supports the classic .NET Framework family: ASP.NET 2.0, 3.0, 3.5, 4.0, 4.5 and 4.8. The web servers run Windows Server with IIS 10. Framework versions share two runtimes, and the pool setting chooses between them:
| Your site targets | .NET runtime to select |
|---|---|
| .NET Framework 2.0, 3.0 or 3.5 | v2.0 |
| .NET Framework 4.0, 4.5, 4.6.x, 4.7.x or 4.8 | v4.0 |
| .NET Core, .NET 5 or later (e.g. .NET 8, 9, 10) | Not supported on Windows Hosting; see Can I Run ASP.NET Core or .NET 8 on Windows Hosting? |
There is no separate “4.8” option: every 4.x version runs on the v4.0 runtime, and the newest installed 4.x framework (4.8) is used automatically. The exact version your code compiles against is set by targetFramework in web.config:
<configuration> <system.web> <compilation targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> </system.web> </configuration>
How do I know what my site targets?
- Open the project in Visual Studio, right-click the project, choose Properties and look at Target framework.
- Or open the site's
web.config: atargetFramework="4.x"attribute means v4.0. No such attribute and references toSystem.Web.Extensions, Version=3.5.0.0usually mean v2.0. - ASP.NET MVC 3 to 5 and Web API 2 always need v4.0.
- Classic ASP (
.asppages) doesn't use .NET at all, so the runtime setting doesn't matter for it.
Change the runtime and pipeline mode
- Log in to your FimuroHost client area at https://app.fimurohost.com.
- Open Services and select your Windows Hosting plan (Starter, Premium or Business).
- Click Login to Control Panel. StackCP opens for that website, already signed in.
- In the Web Tools section, click Manage App Pool.
- Set .NET Runtime Version to v4.0 or v2.0 using the table above.
- Set Managed Pipeline Mode (explained below). Leave it on Integrated unless you have a reason to change it.
- Save the changes, then use the Recycle option on the same page so the pool restarts with the new settings.
- Reload your site. The first request after a recycle is slower because ASP.NET compiles and warms up.
A new pool may start on v2.0. If you host a modern 4.x site, switching to v4.0 is usually the first thing to do.
Integrated or Classic pipeline?
| Mode | Use it when |
|---|---|
| Integrated (recommended) | Any site written for IIS 7 or later: MVC, Web API, Web Forms from the last 15 years. ASP.NET and IIS share one request pipeline, so modules and URL routing work for every request, including static files. |
| Classic | Very old applications written for IIS 6 that register modules and handlers only under <system.web> and break in Integrated mode. |
In Integrated mode, IIS reads modules and handlers from <system.webServer>. If an old site still lists them under <system.web><httpModules> or <httpHandlers>, you will see HTTP 500.22 or 500.23. Either copy the entries into <system.webServer><modules> / <handlers>, or tell IIS to skip the check:
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>
Only fall back to Classic mode if that doesn't help.
When to recycle the pool
Recycling restarts your application and clears its in-memory cache. It is useful when:
- you changed the runtime or pipeline setting;
- you uploaded a new
web.configor new DLLs and still see old behaviour; - the site has become stuck or very slow after an error.
Recycling signs out users whose sessions are stored in memory (the default InProc session mode), so do it at a quiet time on a busy site.
Common problems
- “Unrecognized attribute ‘targetFramework’. Note that attribute names are case-sensitive.” The site is 4.x but the pool is on v2.0. Switch to v4.0 and recycle.
- “Could not load file or assembly … or one of its dependencies”. A DLL is missing from
bin, or it was built for a newer framework than the site targets. Re-publish and upload the wholebinfolder. - MVC routes return 404 but static files work. The pool is in Classic mode or on v2.0. Use Integrated and v4.0.
- HTTP 500.19 after changing settings. Usually a
web.configerror, not the pool. See Troubleshooting Common IIS Errors.
Need help?
If something doesn't work as described, open a support ticket from your client area or message us on WhatsApp at 01818160926. Tell us your domain name, which framework version your site targets and the exact error.
Categories
Written by
FimuroHost Team
Technical Writer