MVC和Less捆绑包 - 不在部署到Azure的Release中工作

时间:2014-02-24 14:57:05

标签: asp.net-mvc azure bundling-and-minification dotless

我正在使用Dotless和System.Web.Optimizations.LessBundle在我的MVC 5应用程序中包含Less stylesheets。一切都在我的本地机器上的Debug和Release中工作。

我基本上遵循this blog post所做的相同步骤。

我的捆绑代码如下所示:

bundles.Add(new LessBundle("~/Content/css/mySheet").Include(
    "~/Content/lib/normalize/normalize.css",
    "~/Content/site/my/sheet.less"));

在开发本地我最终得到这样的链接:

http://localhost:57240/Content/site/my/sheet.less

在本地发布时,我最终会得到一个这样的链接:

http://localhost:57240/Content/css/mySheet?v=zGP7kp7SWQZ0s2SVk555UPp3zcThPaRqzm6bTysZJzE1

但是,当我将Release版本部署到Azure网站(使用Visual Studio发布机制)时,我最终会得到一个如下所示的链接:

http://mypage.azurewebsites.net/Content/css/mySheet?v=

如您所见,魔术标识符未附加到URL的末尾。

是什么给出了?

1 个答案:

答案 0 :(得分:6)

事实证明我有两个问题。 normalize.css文件未包含在项目中,因此未部署到Azure。 Less文件在Azure环境中返回404,但一旦设置为Build Action =“Content”,它就开始工作了。我不确定为什么这第二件事有效,所以我发布了another question