为什么Windows Azure会添加' / bundles /'进入我所有的CSS图像文件路径?

时间:2015-09-12 06:05:50

标签: css azure background-image filepath

我正在使用css属性:

background-image: url(/Content/Images/background.jpg);

但是,当部署到Windows Azure时,它会出现找不到文件的错误,因为它正在尝试从以下位置检索图像:

...azurewebsites.net/bundles/Content/Images/background.jpg

我试过了:

'~/', '../', 'Content/', '/Content' & even the full path.

当我只是在网页浏览器中转到图片的网址时,它会加载图片,所以我知道它就在那里。

删除或解决此问题的最佳方法是什么?

感谢。

1 个答案:

答案 0 :(得分:1)

  

为什么Windows Azure将'/ bundles /'添加到我的所有css图像文件路径中?

您的CSS文件正在获取bundled。 ASP.NET将您的CSS文件放入新文件并将其存储在mydomain.net/bundles/somefile.css。 Web浏览器正在查找相对于CSS文件位置的图像

这只发生在Azure上,因为捆绑仅在发布配置中运行,而不是在调试配置中运行。因此,您可以通过在web.config文件中设置<compilation debug="false" />来本地测试捆绑。

  

删除此问题的最佳方法是什么?

看看这个:MVC4 StyleBundle not resolving images和这个MVC cannot display image using background-url in css - uses bundling,或者只是不要使用捆绑。 :)