1

我正在尝试从 Visual Studio 2012 部署网站,但每当我使用项目上下文菜单中的“发布”将其部署到本地 IIS 服务器时,它似乎无法正常工作。但是,当我使用“CTRL+F5”构建并将其部署到 IIS express 时,它构建并运行良好。

首先,它只复制一些图像。唯一的区别是未显示的图像是这样定义的背景图像:

<style type="text/css">
    body {
        padding-top: 40px;
        padding-bottom: 40px;
        background-color: #f5f5f5;
        background-image: url('~/Images/bg.jpg');
        background-size: cover;
    }
</style>

而正在显示的图像定义如下:

<img src="~/Images/smallLogo.png"/> 

我已经验证所有图像都具有相同的属性,并且它们都在我项目的同一个文件夹中。为了对此进行测试,我将属性设置为“构建操作:资源”和“复制到输出目录:始终复制”。

现在,对于我的问题的第二部分。当我将它部署到我的 IIS 服务器时,它会显示我的第一个页面,在这种情况下是一个登录页面,很好(背景图像除外)。但是,每当我尝试登录时,我都会收到一条 404 消息。我应该注意到登录方法正在调用远程服务,该服务作为参考包含在我的项目中。同样,当我使用“CTRL+F5”“部署”它时它工作正常,就像上面的例子一样。

我感觉到我在这里的某个地方错过了一个关键的设置,但我似乎无法弄清楚。

4

1 回答 1

0

弄清楚了。出于某种原因,css 需要在 url-string 中省略“~”字符。从这里改变它:

...
background-image: url('~/Images/bg.jpg');
...

对此:

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

至于第二个问题,这是一个有点类似的问题。出于某种原因,我的本地 iis express 服务器接受不包含“~”字符的链接。每当我将它发布到 iis 服务器时,它都不接受这个。相应地更改了我所有的链接/表格。

于 2013-05-27T06:56:23.417 回答