[asp.net-mvc] 내 프로젝트에 BundleConfig.cs를 어떻게 추가합니까?

나는 ASP.Net MVC 프로젝트를하고 난 번들을 구현하고자하지만, 내가 인터넷에서 찾을 수있는 모든 열거 나 지시 BundleConfig.csApp_Start– 그러나이 파일이 내 프로젝트에 존재하지 않습니다. 해당 폴더에는 FilterConfig, RouteConfigWebApiConfig.

솔루션을 만들 때 번들 구성이 생성되지 않았습니다 (IIRC는 처음에는 빈 ASP.NET MVC 프로젝트였습니다).

이것은 정말 쉬운 일인 것 같지만 나는 그것을 이해할 수 없습니다.

추신 : 자세히 읽지 않는 사람들에게 명확히하기 위해 이것은 처음부터 만든 MVC4 / .Net 4.5 앱용입니다. 솔루션은 아래에 표시되어 있습니다.



답변

BundleConfig번들 구성을 별도의 파일로 이동하는 것입니다. 이전에는 앱 시작 코드 (필터, 번들, 한 클래스에서 구성하는 데 사용되는 경로)의 일부였습니다.

이 파일을 추가하려면 먼저 Microsoft.AspNet.Web.Optimization웹 프로젝트에 nuget 패키지를 추가해야합니다 .

Install-Package Microsoft.AspNet.Web.Optimization

그런 다음 App_Start 폴더 아래에라는 새 cs 파일을 만듭니다 BundleConfig.cs. 다음은 내 광산에있는 것입니다 (ASP.NET MVC 5,하지만 MVC 4에서 작동해야 함).

using System.Web;
using System.Web.Optimization;

namespace CodeRepository.Web
{
    public class BundleConfig
    {
        // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.validate*"));

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js",
                      "~/Scripts/respond.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.css",
                      "~/Content/site.css"));
        }
    }
}

그런 다음 Global.asax를 수정하고 RegisterBundles()in 에 대한 호출을 추가합니다 Application_Start().

using System.Web.Optimization;

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

밀접하게 관련된 질문 : System.Web.Optimization for MVC-3-converted-to-4 앱에 대한 참조를 추가하는 방법


답변

“MVC 5″를 사용하는 경우 파일이 표시되지 않을 수 있으며 다음 단계를 따라야합니다. http://www.techjunkieblog.com/2015/05/aspnet-mvc-empty-project-adding.html

“ASP.NET 5″를 사용하는 경우 “번들링 및 축소”사용이 중지되었으며 대신 gulp, bower 및 npm으로 대체되었습니다. 자세한 내용은 https://jeffreyfritz.com/2015/05/where-did-my-asp-net-bundles-go-in-asp-net-5/를 참조 하십시오.


답변