When deploying a web application that targets the .NET Framework 3.5 (which includes .NET 2.0 and 3.0), your web server must have this framework version installed. On modern Windows Server editions, .NET 3.5 is included as an optional feature but is not enabled by default. This guide covers installation methods for every major Windows Server version.
Why .NET 3.5 Is Still Needed
Although .NET Framework 4.x and .NET (Core) 5+ are current, many legacy applications still require .NET 3.5. The .NET 3.5 runtime is not a subset of .NET 4.x — they run side-by-side. An application built for .NET 2.0, 3.0, or 3.5 specifically needs the 3.5 runtime installed.
Prerequisites
- Administrator access to the server
- For offline installation: Windows Server installation media (ISO or DVD)
- For online installation: Internet access or access to Windows Update / WSUS
Method 1: Server Manager (GUI)
This is the easiest method when you have GUI access to the server.
Windows Server 2012, 2012 R2, 2016, 2019, and 2022
- Open Server Manager from the taskbar or Start menu.
- Click Manage in the top-right corner, then select Add Roles and Features.
- Click Next through the “Before You Begin” page.
- Select Role-based or feature-based installation and click Next.
- Select the target server and click Next.
- On the Server Roles page, click Next without making changes.
- On the Features page, check the box for .NET Framework 3.5 Features.
- Click Next, then click Install.
- Wait for the installation to complete, then click Close.
If the installation fails because source files cannot be found, you need to specify an alternate source path. See the offline installation section below.
Windows Server 2008 and 2008 R2
- Open Server Manager from Administrative Tools.
- In the left pane, click Features.
- Click Add Features in the right pane.
- Expand .NET Framework 3.5.1 Features and check the boxes for the components you need.
- Click Next and then Install.
On Server 2008, .NET 3.5 SP1 may also be available as a standalone download from the Microsoft Download Center if the Server Manager approach is unavailable.
Method 2: DISM Command Line
The Deployment Image Servicing and Management (DISM) tool is the preferred method for command-line installations and for automation scripts.
Online Installation
Open an elevated Command Prompt (Run as Administrator) and run:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
The /All flag enables all parent features that .NET 3.5 depends on. This command downloads the required files from Windows Update.
Offline Installation from Windows Media
If your server does not have internet access, mount the Windows Server installation ISO and specify the \sources\sxs folder:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
Replace D: with the drive letter of your mounted ISO or DVD. The /LimitAccess flag prevents DISM from contacting Windows Update, using only the specified source.
Checking Installation Status
To verify that .NET 3.5 is installed:
DISM /Online /Get-Features | findstr NetFx3
You should see:
Feature Name : NetFx3
State : Enabled
Method 3: PowerShell
PowerShell provides another scripting-friendly option.
Online Installation
Install-WindowsFeature Net-Framework-Core
Offline Installation
Install-WindowsFeature Net-Framework-Core -Source D:\sources\sxs
Checking Status
Get-WindowsFeature Net-Framework-Core
The output will show [X] if installed or [ ] if not installed.
Method 4: Group Policy for WSUS Environments
In environments using Windows Server Update Services (WSUS), the server may fail to download .NET 3.5 source files because WSUS redirects Windows Update requests. You have two options:
Option A: Configure Group Policy to Contact Windows Update Directly
- Open Group Policy Editor (
gpedit.msc). - Navigate to Computer Configuration > Administrative Templates > System.
- Double-click Specify settings for optional component installation and component repair.
- Set it to Enabled.
- Check Contact Windows Update directly to download repair content instead of Windows Server Update Services (WSUS).
- Click OK and run
gpupdate /force.
Option B: Use Offline Installation
Use the DISM or PowerShell commands with the /Source parameter pointing to the installation media, as described above.
Configuring IIS for ASP.NET 3.5
After installing .NET 3.5, you also need to ensure IIS is configured to support ASP.NET applications targeting that framework.
Register ASP.NET with IIS
On older servers, you may need to register ASP.NET manually:
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
For 64-bit servers:
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
Set the Application Pool .NET Version
- Open IIS Manager.
- Click Application Pools in the left pane.
- Select the application pool used by your site.
- Click Basic Settings in the right pane.
- Set the .NET CLR version to v2.0.50727 (this covers .NET 2.0, 3.0, and 3.5).
- Click OK.
Verify the Configuration
Create a test page named info.aspx with the following content:
<%@ Page Language="C#" %>
<%= Environment.Version.ToString() %>
Browse to the page. It should display the CLR version (for example, 2.0.50727.9174). Remove this test page after verification.
Troubleshooting
Error: Source Files Could Not Be Found
This is the most common issue. It occurs when the server cannot reach Windows Update and no local source is specified.
Solution: Use the offline installation method with /Source:D:\sources\sxs /LimitAccess.
Error: 0x800F0954
This error typically appears in WSUS environments.
Solution: Configure Group Policy to allow direct contact with Windows Update (see Method 4, Option A) or use offline installation media.
Error: 0x800F081F
The specified source files could not be found.
Solution: Verify that the path points to the correct sources\sxs folder and that the ISO matches the server edition and version.
Installation Hangs or Takes Very Long
When downloading from Windows Update, the installation can take 10-30 minutes depending on connection speed. If using offline media, it typically completes within 2-5 minutes.
Version Compatibility Reference
| Windows Server Version | .NET 3.5 Status | Installation Method |
|---|---|---|
| Server 2008 | Optional role feature | Server Manager or download |
| Server 2008 R2 | Optional feature | Server Manager or DISM |
| Server 2012 | Optional feature | Server Manager, DISM, or PowerShell |
| Server 2012 R2 | Optional feature | Server Manager, DISM, or PowerShell |
| Server 2016 | Optional feature | Server Manager, DISM, or PowerShell |
| Server 2019 | Optional feature | Server Manager, DISM, or PowerShell |
| Server 2022 | Optional feature | Server Manager, DISM, or PowerShell |
Summary
Installing .NET Framework 3.5 on a Windows web server requires enabling it as a Windows feature rather than running a standalone installer. Use Server Manager for a GUI approach, DISM or PowerShell for command-line and scripted installations, and always keep Windows installation media available for offline scenarios where internet access or WSUS configuration prevents online installation. After installation, verify that IIS application pools are configured to use the v2.0 CLR for applications targeting .NET 3.5.