nativerd.dll must be in %windir%\system32\inetsrv.' error while running the code for .net application

Updated on: July 04, 2019

Quick Fix for Error "nativerd.dll must be in %windir%\system32\inetsrv.'" for your .NET application

  • If you are running .NET application and getting above error, then you need to check what code causes this error
  • If you are running the following code in your .NET desktop application, and getting the error as above:

System.Web.HttpRuntime.Cache("Key01"); 

  • If you are getting error at above line, then you can follow the following step to fix the error caused by above line:

Solution to "nativerd.dll must be in %windir%\system32\inetsrv.'" issue:

  • Open the "Programs and Features" from Control Panel => Programs, after opening it, in the left area, there is a option called "Turn Windows features on or off", click on this. 
  • Now it will open a small popup "Windows Features"
  • From this popup, expand ".NET Framework 4.7 Advanced Serivces", then expand "WCF Services" and then select "HTTP Activation" checkbox and then click OK 

  • Wait till it apply changes:

  • Once it completes applying changes, then try rerunning your application, it should fix this issue.
  • Windows Communication Foundation (WCF) uses listener adapter interface to communicate activation requests that are received over the non-HTTP protocol(TCP, Named Pipes, Message Queuing) supported by WCF.