asp.net MVC 4 의 Bundle 을 사용 하여 발생 하 는 문제 및 해결 방법 공유

2712 단어 asp.netMVC4Bundle
배경    이전에 MVC 3 를 사용 한 경험 도 있 고 MVC 4 의 기본 사례 도 만들어 본 적 이 있 으 며 bundle 이라는 방법 이 있다 는 것 을 알 고 있 습 니 다.
  최근 에 웹 사 이 트 를 만들어 MVC 4 를 사용 하려 고 했 지만 기본 적 인 사례 에서 고 칠 수 없고 쓸모없는 것 이 너무 많다 고 생각 하여 빈 MVC 프로그램 을 만 들 고 필요 한 것 을 직접 썼 습 니 다.
  프로그램의 목표 프레임 워 크 를 4.5 에서 4.0(내 가 사용 한 것 은 VS 2013)으로 낮 추 면 문제 가 생 긴 다.
문제 및 해결 방법 1.대상 프레임 워 크 를 낮 춘 후 vs 경고:NuGet 패 키 지 는 현재 대상 프레임 워 크 와 다른 대상 프레임 워 크 를 사용 하여 설치 되 었 습 니 다.System.Web.Http 를 업데이트 해 야 합 니 다.이전에 NuGet 을 사용 한 적 이 있 습 니 다.
     하지만 그것 으로 필요 한 프로그램 집합 을 추가 할 뿐 업데이트 한 적 이 없 군요.
     해결:검색 하면 답 을 찾기 어렵 지 않 습 니 다.NuGet 명령 창 에서 Update-Package 패키지 이름 으로 업데이트 합 니 다.NuGet 패키지 창 만 관리 하 는 사람 에 게 명령 창 은 어디 에 있 습 니까?

창 을 열 고 명령 update-package System.Web.Http 로 업데이트 하면 됩 니 다.
2.Bundle 을 처음 봤 을 때 이것 이 있 으 면 여러 곳 에서 js 나 css 를 인용 할 때 쓰 는 것 이 편리 하 다 고 생각 했 습 니 다.이 제 는 js 나 css 파일 을 합 쳐 압축 하 는 데 더 큰 도움 이 된다 는 것 을 알 게 되 었 습 니 다.
    구체 적 으로 어떻게 사용 해 야 할 지 모 르 겠 습 니 다.해결 하기 쉽 습 니 다.뮤 직 비디오 c4 의 기본 샘플 프로그램 을 따로 새로 만 들 겠 습 니 다.
    문제:우선 앱Star 폴 더 아래 에 BundleConfig.cs 클래스 를 새로 만 들 고 RegisterBundles 방법 을 정의 합 니 다.BundleCollection 대상 을 매개 변수 로 해 야 합 니 다.BundleCollection 클래스 가 없 음 을 발 견 했 습 니 다.
    해결:System.Web.Optimization.dll 에 대한 인용 을 추가 합 니 다.클래스 에 using System.Web.Optimization 을 추가 합 니 다.
    질문:BundleConfig.cs 클래스 가 작성 되 었 습 니 다.Global.aax 파일 의 ApplicationStart 방법 에 등 록 했 습 니 다.페이지 View 에 사용 하 세 요.하지만@Styles.Render 를 쓸 때 힌트 가 나 오지 않 습 니 다.
            왜 없 지?샘플 페이지 에서 도 네 임 스페이스 를 참조 하 는 것 을 보지 못 했 습 니까?
    해결:원래 이 네 임 스페이스 는 웹 config 에 추가 해 야 합 니 다.프로그램 디 렉 터 리 에 웹 config 가 있 고 View 폴 더 에 도 웹 config 가 있 습 니 다.두 파일 에 모두 추가 합 니 다.
             ,구체 적 인 위 치 는 웹 config 를 보면 알 수 있 습 니 다.
   문제:OK,다 썼 으 니까 실행 해 봐.내 가 갈 게.이상 하 다.첫눈 에"상대 경 로 를 사용 할 때 현재 디 렉 터 리 가 정확 한 지 확인 하 십시오"라 는 알림 을 보 았 습 니 다.BundleConfig.cs 가 정의 한 파일 경로 에 문제 가 있 습 니까?
            문 제 는 WebGrease 를 불 러 오지 않 았 습 니 다.

해결:프로그램 추가 참조:Antlr3.Runtime.dll 과 WebGrease.dll,프로그램 루트 디 렉 터 리 에 있 는 웹.config 에 다음 노드 를 추가 합 니 다.
문제:프로그램 이 실행 되 었 습 니 다.잘못 보고 하지 않 았 습 니 다.모든 것 이 ok 인 줄 알 았 는데 Jquery.min.js 파일 이 인용 되 지 않 았 습 니까?
       해결:위 에서 말 했 듯 이 bundle 은 파일 압축 기능 이 있 습 니 다.파일 이름 에 min 이 있 으 면 인용 하지 않 기 때문에 파일 이름 에 있 는 min 을 제거 하고 Jquery.js 로 바 꾸 면 됩 니 다.
        검색 중 에 글 이 있어 요.
    new ScriptBundle("~/bundles/js/jquery Content")의 이름 에는 특별한 기호 가 있 을 수 없습니다.예 를 들 면...-아니면 무효 야.주소.
요약:bunle 을 사용 하 는 과정 에서 세 개의 dll 을 인용 하여 웹.config 에서 두 곳 의 설정 을 해 야 합 니 다.0 부터 쓰 지 않 으 면 모 를 것 같 습 니 다.

좋은 웹페이지 즐겨찾기