I just bought a new Cloud based Virtual machine with Windows server 2016 installed. I also make sure IIS 10 has .NET Framework 4.6 and ASP.NET 4.6 installed.
My ASP.NET MVC application targets .NET 4.5 and is successfully published to the 'Default Web Site' on this server using Web deploy. (You can see all the asp.net mvc published files here)
'Default Web Site' uses 'DefaultAppPool' which has a v4.0 .NET CLR Version.
But when I open the web page in my browser, I received a '403 - Forbidden: Access is denied.' error. I did my research, to me it looks like the IIS never tried to open it as a ASP.NET MVC application. It simply tries to find a physical file with the same name as 'controller/Action'.html and of course it couldn't find it. Solutions I have tried with:
There's another post mentioning the 'UrlRoutingModule-4.0' in IIS Modules configuration. In my case, the routing module is not there for some reason. I added it, but nothing changes. Furthermore, every time I republish the website from VS, the module disappears after the deployment succeeds.
I also tried adding
<modules runAllManagedModulesForAllRequests="true"/>
to my webconfig file, no luck either.Run aspnet_regiis -ir on the server. It says the command can't be run on this operating system but still run it anyway. However, the problem is still there.