Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Bundle no ASP.NET MVC / IIS

Boa noite, estou realizando alguns estudos sobre asp.net mvc. Estou tentando fazer o uso do recurso de Bundle, para alocar meus CSS e Js de forma a diminuir as requisições de estilo.

Atualmente o projeto de estudo está funcionando, porem quando publico a aplicação no IIS. As imagens dos botões param de funcionar alegando em console que "Erro HTTP 404.0 - Not Found", para as imagens.

Pesquisando tentei utilizar o recurso "CssRewriteUrlTransform", porem sem sucesso para o IIS, mas utilizando o Visual Studio, funciona perfeitamente.

Alguém já passou por esse problema, ou sabe como resolver? Obrigado.

4 respostas

Olá, Tiago.

É fácil dizer que você está com um problema de caminho. Você está utilizando caminhos absolutos ou relativos para o seus arquivos?

Olá Marco.

Então no CSS está da seguinte forma

.sprinter-images {
    background-image: url(layoutIcons.png);
}

Já no Bundle estou utilizando da forma abaixo.

    bundles.Add(new StyleBundle("~/bundles/build/layout").Include("~/Content/images/sprinters/build/layoutIcons.css", new CssRewriteUrlTransform()));

No console do browser, quando utilizado Visual Studio, o caminho da imagem fica

http://localhost:porta/Content/images/sprinters/build/layoutIcons.png

Quando publicado no IIS deveria ficar

http://localhost:porta/NomeDaAplicacao/Content/images/sprinters/build/layoutIcons.png

Mas está ficando sem o "nome da aplicação", ocorrendo que não encontra o caminho para a imagem.

Desde já obrigado.

Olá, Tiago

Veja se funciona com o caminho abaixo:

.sprinter-images {
    background-image: url(images/sprinters/build/layoutIcons.png);
}
solução!

Boa tarde, Marcelo.

O problema é que o projeto é "grande", e tomando a decisão de ajustar no css seriam muitos arquivos e classes a serem ajustados. Em pesquisas e testes, consegui a solução para funcionar tanto pelo Visual Studio quanto publicado no IIS, encontrei a solução neste link: https://dzone.com/articles/general-css-path-transform-for-aspnet-bundling

Obrigado pela ajuda, e desculpe a demora.