내 프로젝트에 BundleConfig.cs를 어떻게 추가합니까?


96

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

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

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

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


이것은 ASP.NET 4.5 프로젝트 템플릿에만 포함되어 있기 때문에 찾을 수 없습니다. 이전 버전의 ASP.NET을 사용하고 있다고 가정합니다.
Jason Roell 2014


2
@Liam Nope. 질문에서 명확하게 언급 했듯이 이것은 MVC3에서 변환되지 않고 새로 만든 앱에 관한 것입니다. 또한 System.Web.Optimization에 대한 참조를 추가하는 방법이 아니라 BundleConfig.cs 파일을 추가하는 방법에 대한 것이기도합니다 (이 질문의 시나리오에서 완전히 불필요한 것). 나는 당신이 완전히 다른 질문에 대해 논평하려고했다고 가정해야합니다.
Maverick

@Liam-실제로 위의 문제에 대한 솔루션의 일부 가 아닌 "웹 프로젝트에 Microsoft.AspNet.Web.Optimization 너겟 패키지 추가"단계를 포함하는 대답에 혼란 스러울 수 있습니다 . 해결책은 BundleConfig.cs 파일을 추가하는 것이 었습니다. 나는 답변에 대한 의견에서 이것을 말했지만 ... 그 의견 (및 답변에 대한 다른 모든 의견)은 사라진 것 같습니다.
Maverick

답변:


167

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 앱에 대한 참조를 추가하는 방법


2
너겟은 이것의 상용구 버전을 추가해야합니다.
niico

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.