Asp.net mvc 4 MVC 4捆绑包-无法在MVC项目内容文件夹外捆绑内容,例如css/javascript

Asp.net mvc 4 MVC 4捆绑包-无法在MVC项目内容文件夹外捆绑内容,例如css/javascript,asp.net-mvc-4,bundle,Asp.net Mvc 4,Bundle,对于MVC4项目,我需要包含/绑定驻留在MVC项目之外的内容文件,例如CDN中的某个地方 这项工作: bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/Css/site.css")); 这不起作用: bundles.Add(newStyleBundle("~/Content/css").Include("D:/Media/Styles/Css/site.css")); 我得到的错误是: URL“D:/Media/S

对于MVC4项目,我需要包含/绑定驻留在MVC项目之外的内容文件,例如CDN中的某个地方

这项工作:

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/Css/site.css"));
这不起作用:

bundles.Add(newStyleBundle("~/Content/css").Include("D:/Media/Styles/Css/site.css"));
我得到的错误是:

URL“D:/Media/Styles/Css/site.Css”无效。唯一应用 允许使用相对url(~/url)。参数名称:VirtualPath


简言之,是否有可能让资产文件驻留在项目的内容文件夹之外,例如在使用CDN时?如果是这样,最好的方法是什么?

您只能使用相对路径和CDN。这些资源可以位于内容文件夹之外,因此您可以将它们放在站点内的其他文件夹中

:


除了你包含的链接之外,我很难找到很多关于这个的文档。对于一个新的StyleBundle CDN来说,这种做法会是一样的吗?只要实现了这种精确的行为,StyleBundle就可以用来自CDN的相同的was实现。
public static void RegisterBundles(BundleCollection bundles)
{

    bundles.UseCdn = true;   //enable CDN support

    //add link to jquery on the CDN
    var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";

    bundles.Add(new ScriptBundle("~/bundles/jquery",
                jqueryCdnPath).Include(
                "~/Scripts/jquery-{version}.js"));

    // Code removed for clarity.
}