ASP.NET MVC框架4.5的CSS捆绑在托管上不起作用。

13 浏览
0 Comments

ASP.NET MVC框架4.5的CSS捆绑在托管上不起作用。

我正在App Harbor上运行一个用MVC4编写的应用程序。\n一组CSS文件无法正常工作。在我的本地计算机上,在调试模式下,我可以看到应用程序的代码,也可以看到这些文件。应用程序按预期工作。\n



\n当我将应用程序上传到Appharbor时,代码中显示了该捆绑包,但应用程序无法正常工作。\n


\n当我浏览该链接中的href时,我收到403 - Forbidden: Access is denied.的错误消息。\n如何解决这个问题?

0
0 Comments

在将我的ASP.NET MVC应用程序部署到AppHarbor时,我也遇到了这个问题。我有一个名为.Render("~/Content/bootstrap")的样式表捆绑包,文件夹结构如下:

-- Content

-- Content \ Bootstrap \ ...

通过将捆绑包名称更改为"~/Content/bootstrap-css",我的问题得到了解决。

0
0 Comments

问题:ASP.NET MVC框架4.5的CSS捆绑在托管上不起作用。

原因:默认情况下,.NET不会"处理"具有.js或.css扩展名的请求。

解决方法:

A)从捆绑名称中删除扩展名(推荐)。这将导致.NET处理请求并通过BundleModule运行它。

B)在部分中添加以下内容,这将导致.NET通过BundleModule运行.js和.css请求。


  
  

感谢Ray Moro在我的博客上与我分享了实际原因:

http://blog.cdeutsch.com/2012/11/fixing-404-errors-for-aspnet-mvc-apps.html

更新了关于根本原因的更多信息以及第二个选项。

我的捆绑名称类似于以"css"结尾的文件夹名称,所以我遇到了这个问题。虽然我的捆绑没有确切的文件扩展名,但建议A引导我找到了问题所在。

这应该是正确的答案,对于我遇到的相同问题非常有帮助。

太好了,这个答案帮助了我。

这个web.config文件中缺少部分的问题,哎...

0
0 Comments

ASP.NET MVC framework 4.5的CSS bundle在托管环境中无法正常工作的原因可能是虚拟路径与文件系统中的文件夹路径冲突。解决方法是确保bundle的虚拟路径不与文件系统中的文件夹路径相匹配。可以在bundle的名称前加上"bundle"作为约定,以避免可能的路由冲突。

在本地主机上运行时可以正常工作的原因是在开发机器上使用IIS Express运行时通常处于调试模式,该模式会禁用bundle。这可能导致bundle在本地环境中运行正常,但在托管环境中无法正常工作。

有用户提到,他将bundle的路径与文件路径完全不同,测试时一切正常,但当bundle实际生效时,CSS中的相对路径崩溃,并产生404错误。这可能是因为CSS使用了URL路径,需要考虑其他答案中提到的问题。

还有用户提到他遇到了相同的问题,但在应用程序中不存在"Content/css"路径,且在本地环境中工作正常。他提供了一个链接供参考。

总结一下,解决ASP.NET MVC framework 4.5 CSS bundle在托管环境中无法正常工作的问题的方法是确保bundle的虚拟路径不与文件系统中的文件夹路径冲突,可以在bundle的名称前加上"bundle"作为约定,避免可能的路由冲突。同时需要注意CSS中的相对路径是否正确,以避免出现404错误。

0