2

我是 MVC (V4) 的新手,将我的网站发布到 IIS 后出现问题。通过 Web 浏览器(和页面检查器)在 IIS express 中查看时,我的网站运行良好。但是,当我将我的网站(通过 VS2012)发布到 IIS 时,我所有来自我的 CSS 引用的图像都被破坏了。

我的 CSS 文件夹如下:

ROOT\Content\MyCss

我的图片文件夹是:

ROOT\Images\MyImages

IIS 虚拟目录和我的项目目录上的文件夹结构相同。

我所有的图片都是这样引用的:

../../Images/MyImages/image.jpg

当我更改对它的 CSS 引用时,../Images/MyImages/image.jpg它又开始工作了。这不包括 IIS 应用程序/虚拟目录的实际物理文件夹路径。

我将不胜感激任何帮助解决这个问题。

4

1 回答 1

0

如果您正在使用捆绑包,则应使用 ~/ 例如。@Styles.Render("~/bundles/stylebundle")在你看来。

定义捆绑包时,始终以 ~/. 例如

bundles.Add(new StyleBundle("~/bundles/test") .Include("~/content/test/test.css"));

您的 css 中的任何路径都应该相对于 css 文件本身。

例如background-image: url('../../Images/test.jpg');

我刚刚使用与您相同的结构构建了一个测试站点,并坚持我上面写的内容,它在调试和发布中都有效。要在包配置文件中伪造本地机器上的发布模式,请添加

BundleTable.EnableOptimizations = true;
于 2014-06-06T10:55:22.623 回答