MVC网站图片路径在发布版本中无效

Sha*_*eKm 4 asp.net-mvc asp.net-mvc-4

在本地运行我的mvc网站(VS IIS)时,图像显示正确:

css片段:

.sprites {
    background: transparent url(../images/sprites.png) no-repeat 0 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当站点发布到服务器或本地IIS(而不是VS IIS)时,图像无法加载(给出无效路径)

要在服务器上正确显示图像的唯一方法是修改CSS文件和代替"../images/sprites.png""/content/images/sprites.png"

这是为什么?

Sha*_*eKm 5

我想到了:

MVC4附带\App_Start\BundleConfig.cs文件,用于最小化css/js脚本.

每当我发布我的网站(RELEASE)时,它都会调用\ Content\css(最小化文件),其中包含我的图像的路径("../ images/etc ..."),这是不正确的,因为css文件不再是WITHIN/Content /Styles/style.css但/ Content/css(最小化版本).

我不得不修改它:

从:

bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/styles/all.css",
    ..
Run Code Online (Sandbox Code Playgroud)

至:

        bundles.Add(new StyleBundle("~/Content/styles/css").Include(
                "~/Content/styles/all.css",
Run Code Online (Sandbox Code Playgroud)

..

在我的layout.cshtml中:

@Styles.Render("~/Content/styles/css")
Run Code Online (Sandbox Code Playgroud)