我用剃刀引擎做了MVC4应用程序使用.NET 4.5。 当使用Visual Studio在本地运行,它工作正常。
当我部署到IIS的Windows Server 2008 R2上(所有Windows更新完成),它出现在我的包不工作,在CCS没有加载。 我试图查看服务器上的网站,查看源去捆绑链路的CSS和它加载一些CSS,然后有一个IIS错误:
HTTP错误403.14 - 禁止访问Web服务器被配置为不列出此目录的内容。
我曾尝试:
1)有保证的.NET 4.5安装。
2)加<modules runAllManagedModulesForAllRequests="true"/>
到我的web.config
3)冉%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
在CMD
4)检查发现我的应用程序池设置为集成模式
5)确认该代码设置为使用.NET 4
您会在这里找到答案: ASP.NET MVC框架4.5 CSS束不会对托管工作
简短的回答是,以确保您的包名称不符合在您的网站的路径名称冲突。
这解决了这个问题,我(的解决方案是从MVC4 HTTP错误403.14 -禁止 )
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
请确保你的web.config已启用匿名访问到你的“虚拟”束路径。
举例来说,如果你的风格包就像“〜/内容/ blahblah”和你的JavaScript包就像“〜/脚本/ blahblah”你必须打开anonymoys访问地点在你的web.config“内容”和“脚本”像这样:
<configuration>
...
<location path="content">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="scripts">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
...
</configuration>
这样一来,到了虚拟路径“〜/内容”或“〜/脚本”通过任何用户的任何请求将被授予和CSS和JS请求将送达。
这导致403.14另一个潜在问题是在Global.asax和/或web.config中没有在您的发布设置或部署跨复制。