0

다른 질문이 있지만 필요한 답변이 없습니다.ASP.net에서 리소스가 부족한 리소스의 절대 경로 MVC

절대 경로를 MVC 페이지에 포함 된 일부 덜 지정하여 이미지 (기타)를 올바르게 가져 오도록 설정하면됩니다.

[websiteroot] 
----Content 
--------img 
------------<image files> 
--------bootstrap 
------------<bootstrap files> 
--------site.LESS 
--------Site_styles.LESS 
----Views 
--------Shared 
------------_Layout.cshtml 

심지어 번들에, 그것은 단지 바로 내가

.carousel-image-1 
{ 
    width: 100%; 
    background: url('img/banner1.jpg') no-repeat; 
} 

Site_styles.less에서
@Styles.Render("~/Content/Site_styles.less"); 

로 _Layout.cshtml에 포함 아니에요하지만 난 그것을 얻을 수 없다 즉 절대적이다. 즉,

"~/Content/img/banner1.jpg" 

그것은 중요한 경우, 다른 LESS [스트랩 등] 너무

BundleTable.EnableOptimizations = 거짓 같은 번들이다에서

background: url('/Content/img/sodexo_banner1.jpg') 

로 렌더링되고

bundles.UseCdn = true; 
    var cssTransformer = new CssTransformer(); 
    var jsTransformer = new JsTransformer(); 
    var nullOrderer = new NullOrderer(); 

    var cssBundle = new StyleBundle("~/Content/css"); 
    cssBundle.Include("~/Content/Site.less"); 
    cssBundle.Include("~/Content/bootstrap/bootstrap.less"); 

    //cssBundle.Include("~/Content/Site_variables.less"); 
    cssBundle.Transforms.Add(cssTransformer); 
    cssBundle.Orderer = nullOrderer; 
    bundles.Add(cssBundle); 

답변

0

CssRewriteUrlTransform을 사용하십시오. 문서에서

: 자산은 여전히 ​​번들 후 발견 될 수 있도록

다시 쓰기 URL은 절대 할 수 있습니다.

bundles.Add(new StyleBundle("~/Content/css") 
     .Include("~/Content/Site.less") 
     .Include("~/Content/bootstrap/bootstrap.less", new CssRewriteUrlTransform())); 
+0

내가 한 - 그것은 차이를하지 - 내 Site_styles.less 스크립트 ** ** 번들 아닙니다 아마 때문이다. 상술 한 바와 같이. 하지만 제발 내놔 초 그리고 난 번들에 다음 CssRewriteUrlTransform을 시도해보십시오 ... – kpollock

+0

아니, cssBundle.Include ("~/Content/Site_styles.less", 새로운 CssRewriteUrlTransform())에 넣어 퍼팅; 여전히 배경 정보 제공 : url ('/ Content/img/banner1.jpg') – kpollock