现在我有几个MVC4项目。一些JS文件是为所有这些项目共享的,所以我把它放入专用的程序集,并在更改后将其复制到每个项目。
我如何将它作为嵌入式资源放入此程序集并在我的项目中提取它以与MVC4捆绑一起使用?
我如何把它作为嵌入的资源和提取到这个程序集它在我的项目中使用它与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")
);
...
}
实际上可以捆绑嵌入的资源,但这不是完全微不足道的:
基本上你要做的就是创建一个虚拟路径提供程序来引用嵌入的资源,然后绑定虚拟路径:
请看下面的例子:http://dotnet.dzone.com/articles/aspnet-bundlingminification
它也可以与一个控制器提供js/css脚本,但我不确定。
彼得