Asp.net mvc 4 从另一个程序集ASP.NET MVC4获取js文件作为嵌入资源

Asp.net mvc 4 从另一个程序集ASP.NET MVC4获取js文件作为嵌入资源,asp.net-mvc-4,embedded-resource,bundling-and-minification,Asp.net Mvc 4,Embedded Resource,Bundling And Minification,现在我有几个MVC4项目。所有这些项目都共享一些JS文件,所以我将其放入专用程序集中,并在更改后将其复制到每个项目中。 如何将其作为嵌入式资源放入此程序集中,并在项目中提取以与MVC4绑定一起使用?(有没有办法将文件作为捆绑对象获取) 如何将其作为嵌入式资源放入此程序集中并提取 在我的项目中,是否需要将其与MVC4捆绑一起使用 你不能。捆绑机制不支持嵌入到程序集中的资源。我建议您将这些共享静态资源托管在CDN(内容交付网络)上,并让您的所有应用程序从这个公共CDN引用它们 您可以这样启用CDN支

现在我有几个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")
    );

    ...
}

实际上,捆绑嵌入式资源是可能的,但这并不是完全不重要的:

基本上,您要做的是创建一个引用嵌入资源的virtualpath提供程序,然后绑定虚拟路径:

请参见此处的示例:

Is也可能与交付js/css脚本的控制器一起工作,但我不确定

彼得