首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC framework 4.5 CSS捆绑包在主机上不起作用

ASP.NET MVC framework 4.5 CSS捆绑包在主机上不起作用
EN

Stack Overflow用户
提问于 2012-08-23 04:52:56
回答 11查看 95.5K关注 0票数 145

我正在用MVC4编写的应用程序港口运行应用程序。

一堆css文件不起作用。在我的本地计算机上,在调试模式下,我看到了应用程序的代码和文件。应用程序的运行情况与预期一致。

<link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/>
<link href="/Content/css/home/Home.css" rel="stylesheet"/>

当我将应用程序上传到Appharbor时,我在代码中看到了捆绑包,但应用程序无法工作。

<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>

当我在href中浏览该链接时,我得到403 -禁止:访问被拒绝。

如何解决这个问题?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-08-23 06:22:49

我的猜测是路径Content/css存在于您的应用程序的磁盘上。在这种情况下,IIS将处理请求,而不是MVC。

确保包的虚拟路径( StyleBundle构造函数的参数)与文件系统中的文件夹不匹配。

从评论中:

“创建捆绑包时应遵循的一个好约定是在捆绑包名称中包含" bundle”作为前缀。这将防止可能的路由冲突。“

票数 286
EN

Stack Overflow用户

发布于 2012-11-28 11:07:20

此问题是因为在默认情况下,.NET不“处理”具有.js或.css扩展名的请求。

有两种修复方法(你只需要做一种)

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

B)将其添加到system.webServer部分的web.config中,这将导致.NET通过BundleModule运行.js和.css请求。

<modules runAllManagedModulesForAllRequests="true">
  <remove name="BundleModule" />
  <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>

感谢Ray Moro,他找出了真正的原因,并在我的博客上与我分享:http://blog.cdeutsch.com/2012/11/fixing-404-errors-for-aspnet-mvc-apps.html

票数 45
EN

Stack Overflow用户

发布于 2015-01-30 15:22:23

当我尝试在AppHarbor上部署我的ASP.NET MVC应用程序时,我也遇到了这种情况。

我有一个样式表包,名为

@Styles.Render("~/Content/bootstrap")

文件夹结构是

--内容

--内容\引导\ ...

只需将包名称更改为"~/Content/bootstrap-css",我的问题就解决了。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12081255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档