【发布时间】:2013-06-03 13:53:23
【问题描述】:
您好,我正在尝试为我的应用程序捆绑我的脚本。我的调试工作正常,如果我使用 Web.debug 发布,一切正常。但是当我使用 Web.releas 发布时,我的脚本不会加载。一切都在本地工作,只有当我从 VS2012 发布到 Azure 时它才会停止。以下是我创建捆绑包的方式。
namespace BAT.App_Start
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
//BundleTable.EnableOptimizations = true;
bundles.Add(new ScriptBundle("~/Content/MasterCss")
.Include("~/Content/bootstrap.css")
.Include("~/Content/bootstrap-responsive.css")
.Include("~/Content/CSS/site.css"));
bundles.Add(new ScriptBundle("~/Scripts/MasterScripts")
.Include("~/Scripts/jquery-{version}.js")
.Include("~/Scripts/bootstrap.js"));
bundles.Add(new ScriptBundle("~/Scripts/Validation")
.Include("~/Scripts/jquery.validate.js")
.Include("~/Scripts/jquery.validate.unobtrusive.js"));
}
}
}
未注释的行破坏了调试版本
这是我调用捆绑包的布局
@using System.Web.Optimization
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title Business Analysis Tool </title>
@Styles.Render("~/Content/MasterCss")
</head>
<body>
<div class="container-fluid">
<div class="row-fluid"> @RenderPage("~/Views/Shared/_Header.cshtml") </div>
<div class="row-fluid"> @RenderBody() </div>
<div class="row-fluid"> @RenderPage("~/Views/Shared/_Footer.cshtml") </div>
</div>
@Scripts.Render("~/Scripts/MasterScripts")
@RenderSection("scriptholder", false)
</body>
</html>
这是我的 Release.Config
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
这是我在页面上使用 CTRL+U 检查捆绑脚本时的错误链接 http://bat.azurewebsites.net/Content/MasterCss?v=htASNz4hgFFA40tt0CVZdpwQudN8ZW4429UjRQZQJms1
这似乎与缩小有关。我已经学习了一些教程并在这里阅读了其他帖子,但他们的解决方案对我不起作用
【问题讨论】:
-
嗨,杰夫。我似乎处于同样的境地。您对此有任何反馈吗?
-
嗨,不,我还没有运气。为了让某些东西正常工作,我使用调试版本发布到 Azure。这对我有用,因为我没有很多脚本,但我真的很想让捆绑工作
-
好的,如果我有什么想法会告诉你
-
我也看到了同样的问题。如果我发布调试配置文件,它不会捆绑和工作。如果我发布发布配置文件,我页面上的 jquery 脚本似乎不再工作。
标签: asp.net-mvc-4 azure bundle