我根据这里给出的建议和一两个即时修复,将bin部署了一个MVC4应用程序给我的托管服务提供商,但最明显的问题是css的捆绑不起作用.当我用显式文件refs替换bundle ref时,我的css再次工作.
我正在使用VS2012的标准MVC4 RTM项目模板.提供程序运行IIS 7.5和ASP.NET 4,我以前的同一个应用程序的MVC3版本工作正常.我猜我已经抓住了一个版本太低的依赖,这也可能导致我的基于区域的动作链接问题.
技术症状是:
该行@Styles.Render("~/Content/css")呈现为<link href="/Content/css?v=" rel="stylesheet"/>
基本上我得到以下HTML:
<button class="disabled btn-primary btn" type="submit" disabled="">
<i class="glyphicon glyphicon-ban-circle"></i>
Log in
</button>
Run Code Online (Sandbox Code Playgroud)
在本地,图标在按钮上显示正常,但是当我在Windows Azure上运行时,我得到以下按钮,带有奇怪的外观前缀而不是图标:
考虑到这一点,我意识到当在本地访问我的网站时,浏览器会尝试加载文件:/Content/fonts/glyphicons-halflings-regular.woff(它成功地执行),而当在线(在azure上)它将尝试在以下位置加载:/fonts/glyphicons-halflings-regular.woff
为什么它没有放置它在本地执行的/ Content前缀.
我正在使用标准的bootstrap文件,它是本地和在线运行的完全相同的网站.
我也是通过以下方式捆绑内容:
bundles.Add(new StyleBundle("~/Content/bootstrapcss").Include(
"~/Content/bootstrap/bootstrap.css"));
Run Code Online (Sandbox Code Playgroud)
文件结构如下所示:

bootstrap也在寻找这样的文件:
url('../fonts/glyphicons-halflings-regular.woff')
Run Code Online (Sandbox Code Playgroud)
所以我认为它会在Content文件夹中查找而不是root文件,因为它当前位于Content/bootstrapcss文件夹中.