2

이 프로젝트와 다른 프로젝트에서 사용하는 공유 컨트롤, javascript 등에 대한 별도의 "프레임 워크"프로젝트가 있습니다. 프레임 워크 프로젝트는 우리의 솔루션에 포함되어 있으며 우리는 IIS와 함께 가상 디렉터리를 만들었으므로 파일에 대한 상대 링크를 여전히 ~/Framework으로 만들 수 있습니다.가상 디렉터리가있는 WebForms의 스크립트 번들

그래서 스크립트 및 스타일에 새로운 웹 최적화 번들을 사용하고자합니다. 모든 것이 잘 작동하지만 가상 디렉터리에서 JS 파일과 함께 번들링을 시도 할 때 문제가 있습니다. debug="false"이 설정되면 파일은 올바르게 번들로 제공됩니다 (&). debug="true"이 설정되면 파일 중이 포함되지 않습니다!

& 번들을 함께 묶어서 파일에 대한 액세스 권한이 있음이 분명합니다. 이 일을 할 수있는 방법이 있습니까?

<%: System.Web.Optimization.Scripts.Render("~/bundles/main") %> 
+1

당신이 최적화의 버전을 사용하는 후? 1.1? –

+0

Doh! 나는 1.0에 있었고 1.1에 대한 업데이트는 이것을 고쳤다. 감사. –

답변

0

의 App_Code 프로젝트의 폴더에 클래스를 생성하고이 코드를 추가 : 여기


여기 내 MasterPage에이 무슨 내가 App_Start/BundleConfig.vb

Public Shared Sub RegisterBundles(bundles As BundleCollection) 
     Dim mainBundle = New ScriptBundle("~/bundles/main") 
     mainBundle.Orderer = New AsIsBundleOrderer() 
     mainBundle.Include("~/Framework/Javascript/Main/Library.jQuery.js") 
     mainBundle.Include("~/Framework/Javascript/Main/Library.jQuery.ui.js") 
     'snip.... 
     mainBundle.Include("~/Framework/Javascript/Main/CP.Base.js") 

     bundles.Add(mainBundle) 
    End Sub 

에있는 무엇 in the class

Public Shared Sub RegisterBundles(bundles As BundleCollection) 
    Dim mainBundle = New ScriptBundle("~/bundles/main") 
    mainBundle.Orderer = New DefaultBundleOrderer() 
    mainBundle.Include("~/HTML5Components/adc.js") 
    bundles.Add(mainBundle) 
End Sub 

개폐 Global.asax에

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) 
    BundleConfig.RegisterBundles(BundleTable.Bundles)   
End Sub