Asp.net MVC Bundle - 只允许应用程序相对 URL (~/url)

Mid*_*ali 2 asp.net asp.net-mvc razor asp.net-mvc-4

在 bundle 中包含脚本时出现以下错误。有没有办法解决这个问题

URL '/Scripts/bootstrap.js?1.0.0.1' 无效。只允许应用程序相对 URL (~/url)。

我们正在使用 CDN,因此 url 将被创建为 'bootstrap.js?1.0.0.1' 。我发现了一些文章,但没有解决问题。

Car*_*ema 5

您可以将 MVC 捆绑包与 CDN 一起使用。显然,与任何 CDN 一样,您应该制定某种备用计划(通常是本地副本),以防 CDN 不可用。(我说从来没有真正打扰过,但仅仅因为我很懒并不意味着你应该这样做!)

public static void RegisterBundles(BundleCollection bundles)
{

    bundles.UseCdn = true;   //enable CDN support

    //add link to bootstrap on the CDN
    var bootstrapCdnPath = "http://domain.to/bootstrap.cdn";

    bundles.Add(new ScriptBundle("~/bundles/bootstrap",
                bootstrapCdnPath));

}
Run Code Online (Sandbox Code Playgroud)

请注意,这始终使用 CDN,即使在调试模式下也是如此。见http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification(当它时,也可以使用谷歌缓存)的更多信息,你可以如何使用本地副本(例如,非精缩) 调试时。