Developing an MVC application in Visual Studio 2013 (Update 3), I needed to install a demo on a Windows 2008 server.
Since Server 2008 ships with .Net 3, we first need to install .Net 4.5.1, either from the Visual Studio download page, or from MSDN.
After the required reboot and setting up a web application in IIS, browsing to the new site resulted in HTTP errors 403 (refers to directory browsing) and 404 (when navigating to a specific controller action).
Luckily, this issue could be solved by re-adding <modules> to the <system.webServer> section (found on SO):
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0"
type="System.Web.Routing.UrlRoutingModule"
preCondition="" />
</modules>
</system.webServer>
After editing the web.config, the web application could be accessed, but all CSS and JavaScript requests, which are served using Bundling and Minification, would result in a 404.
Again, another module wanted to be included
<remove name="BundleModule" /> <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
Finally, the web application looked as expected, so I logged in, and
No owin.Environment item was found in the context.
The internets are full of helpful tips to add
<add key=”owin:AppStartup” value=”[Namespace].Startup, [AssemblyName]” />
but that did not change anything. What really solved that last problem was to add the attribute
<modules runAllManagedModulesForAllRequests="true" />
in web.config.
In the end, the web.config section looks like this
<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <remove name="FormsAuthentication" /> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> <remove name="BundleModule" /> <add name="BundleModule" type="System.Web.Optimization.BundleModule" /> </modules>
Thank you very much. I was facing same issue and your step by step approach saved me.