ASP.Net mvc网站未在localhost上正确部署

时间:2013-05-22 07:26:47

标签: asp.net iis deployment visual-studio-2012

我尝试从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"/> 

我已验证所有图片都具有相同的属性,并且它们全部位于我项目的同一文件夹中。为了测试这个,我将属性设置为&#34; Build Action:Resource&#34;和&#34;复制到输出目录:始终复制&#34;。

现在,问题的第二部分。当我将它部署到我的IIS服务器时,它显示我的第一页,在这种情况下是一个登录页面,就好了(除了背景图像)。但是,每当我尝试登录时,我都会收到404消息。我应该注意,login方法正在调用远程服务,该服务作为项目中的引用包含在内。同样,当我部署&#39;它使用&#34; CTRL + F5&#34;,就像上面的情况一样。

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

1 个答案:

答案 0 :(得分:0)

想出来。出于某种原因,css需要省略url-string中的“〜”字符。 改变了它:

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

到此:

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

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