这是我的文件夹在 Visual Studio 2010 中的设置方式:
[solution]/Public
/assets
/stylesheets
bootstrap.css
forms.less
main.less
tigo.less
我设置了一些引用,因为我希望 Bootstrap 首先出现,forms 和 tigo 必须出现在 main.less 之后。
当我在本地机器上运行这个应用程序时,这是参考:
<link href="/cassette.axd/asset/Public/assets/stylesheets/bootstrap.css?Fr-zb2zZgNbHEFtP2LHSlWzPcTc=" type="text/css" rel="stylesheet"/>
<link href="/cassette.axd/asset/Public/assets/stylesheets/main.less?3YJKuT131pux5i9cKZkQeAO_qLQ=" type="text/css" rel="stylesheet"/>
<link href="/cassette.axd/asset/Public/assets/stylesheets/forms.less?3j_M5YCMRn_e3APdf8XOLJrN9s0=" type="text/css" rel="stylesheet"/>
<link href="/cassette.axd/asset/Public/assets/stylesheets/tigo.less?L6L9pztQ4BxBKmO_Q3XHBJx9L8Q=" type="text/css" rel="stylesheet"/>
它在我的机器上运行良好。
但是,当发布到 AppHarbor 时,引用(缩小的)CSS 文件仅包含来自 bootstrap.css 的信息
这是我对 Cassette 的配置:
namespace Foo.WebUI
{
/// <summary>
/// Configures the Cassette asset bundles for the web application.
/// </summary>
public class CassetteBundleConfiguration : IConfiguration<BundleCollection>
{
public void Configure(BundleCollection bundles)
{
bundles.Add<StylesheetBundle>("Public/assets/stylesheets");
bundles.Add<ScriptBundle>("Public/assets/javascripts");
}
}
}
这是我的 _Layout.cshtml 文件:
@{
Bundles.Reference("Public/assets/stylesheets");
Bundles.Reference("Public/assets/javascripts");
}
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<link rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/blitzer/jquery-ui.css" />
@Bundles.RenderStylesheets()
</head>
任何想法为什么它不能正常工作?为什么它抓住了 bootstrap.css 而忘记了其他三个文件。