Asp.net-Mvc-4
發佈到天藍色後,與 MVC4 捆綁不起作用
您好我正在嘗試為我的應用程序捆綁我的腳本。我的調試工作正常,如果我使用 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>這是我在頁面http://bat.azurewebsites.net/Content/MasterCss?v=htASNz4hgFFA40tt0CVZdpwQudN8ZW4429UjRQZQJms1上使用 CTRL+U 檢查捆綁腳本時出現錯誤的連結
這似乎與縮小有關。我已經學習了一些教程並在這裡閱讀了其他文章,但他們的解決方案對我不起作用
小錯誤殺死了我,我將我的 css 捆綁為腳本包而不是樣式包。
我已經做了很多嘗試來解決這個問題,包括設置原始碼控制和建構配置。我的項目從設置為使用 git 到 tfs 和一切。
非常簡單的解決方法:
我有以下內容:
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.css", "~/Content/site.css"));我的解決方案中還有一個文件夾:
/Content/Css這就是問題所在,stylebundle 與我的解決方案中的文件夾同名。
將樣式包重命名為:
bundles.Add(new StyleBundle("~/scripts/css").Include( "~/Content/bootstrap.css", "~/Content/site.css"));和(記住)改變你引用它的位置,_Layout.cshmtl
因此,為了清楚起見,如果您的 stylebundle 名稱與解決方案中的實際文件夾相同,那麼您將遇到此問題。只需將其命名為不同的名稱。