我正在使用css属性:
background-image: url(/Content/Images/background.jpg);
但是,当部署到Windows Azure时,它会出现找不到文件的错误,因为它正在尝试从以下位置检索图像:
...azurewebsites.net/bundles/Content/Images/background.jpg
我试过了:
'~/', '../', 'Content/', '/Content' & even the full path.
当我只是在网页浏览器中转到图片的网址时,它会加载图片,所以我知道它就在那里。
删除或解决此问题的最佳方法是什么?
感谢。
答案 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,或者只是不要使用捆绑。 :)