对于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"));
我得到的错误是:
网址“D:/Media/Styles/Css/site.css”无效。只有申请 允许相对URL(〜/ url)。参数名称:virtualPaths
简而言之,是否可以让资产文件驻留在项目的Content文件夹之外,例如在使用CDN时?如果是这样,最好的方法是什么?
答案 0 :(得分:2)
您只能使用相对路径和CDN。资源可以位于“内容”文件夹之外,因此您可以将它们放在站点内的其他文件夹中。
You can also use a CDN like this:
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.
}