2

对于 MVC 4 项目,我需要包含/捆绑驻留在 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)。参数名称:virtualPaths

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

4

1 回答 1

3

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

您也可以像这样使用 CDN

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.
}
于 2013-01-17T09:28:29.423 回答