现在我有几个MVC4项目。所有这些项目共享一些JS文件,因此我将其放入专用程序集中,并在更改后将其复制到每个项目中。
如何将它作为嵌入式资源放入此程序集中并在我的项目中提取它以与MVC4捆绑一起使用? (有没有办法将文件作为Bundle对象获取)
答案 0 :(得分:2)
如何将其作为嵌入式资源并提取到此程序集中 在我的项目中使用它与MVC4捆绑?
你做不到。捆绑机制不支持嵌入到程序集中的资源。我建议您在CDN(内容交付网络)上托管这些共享静态资源,并让所有应用程序通过此常见CDN引用它们。
您可以像这样启用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")
);
...
}
答案 1 :(得分:2)
实际上可以捆绑嵌入的资源,但这并非完全无足轻重:
基本上你要做的是创建一个引用嵌入资源的虚拟路径提供程序,然后捆绑虚拟路径:
在此处查看示例: http://dotnet.dzone.com/articles/aspnet-bundlingminification
可能也适用于提供js / css脚本的控制器,但我不确定。
彼得