【问题标题】:ASP.Net mvc website not deployed properly on localhost [closed]ASP.Net mvc 网站未在本地主机上正确部署 [关闭]
【发布时间】:2013-05-22 07:26:46
【问题描述】:

我正在尝试从 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”“部署”它时,它工作正常,就像上面的例子一样。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    到这里:

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

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

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 1970-01-01
      • 2016-11-30
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 2012-07-17
      相关资源
      最近更新 更多