【问题标题】:Images don't show up after VS 2012 PublishVS 2012 发布后图像不显示
【发布时间】:2013-05-18 20:04:38
【问题描述】:

我已经创建了 asp.net 网络项目。我在这个项目中包含了一些文件。遵循所有要求的 CSS 标准。

background-image: url('~/Images/sideheader.png')

我在调试网站时可以看到所有图片。但是当我发布我的网站时,我在我的网站上看不到任何图片。

请帮我解决这个问题。

【问题讨论】:

  • 您是否检查过图片是否在发布位置的正确目录中?
  • 是的。 100 次 :P ,否则在调试过程中不会出现。
  • Debug 通常会启动特定于调试项目的服务器实例。如果将其发布到不同的服务器,则您的相对 URL 引用的目录可能不是同一个目录。
  • @MikePrecup,那我该如何解决这个问题?
  • 手动将 sideheader.png 复制到您要发布到的任何服务器上的 ~/Images/ 目录中。我真的无能为力,因为它需要了解您的服务器设置。

标签: c# asp.net visual-studio iis webdeploy


【解决方案1】:

你应该这样使用它:

background-image: url('/Images/sideheader.png')

通过这种方式,相对路径会解析到正确的位置。

【讨论】:

    【解决方案2】:

    您的网址未指向该文件。它在调试服务器上运行良好,因为当您在调试中运行它时,它会为您的项目启动一个测试服务器,该服务器的配置与您发布到的服务器不同。因为你把它放在不同的目录,或者配置了不同的主目录,所以它找不到图像。

    对于任何提出这个问题的人,这是通过测试用绝对 URL 替换相对 URL 是否可以解决问题而确定的,这发生在 OP 的评论部分。

    【讨论】:

      【解决方案3】:

      您只需将您的文件夹images 添加到您的项目并重新发布您的项目。要添加文件夹,请转到solution explorer,单击show all files,右键单击您的images 文件夹并选择include in project。您无需更改您在 css 或其他任何地方使用的图像的任何 url。

      【讨论】:

        【解决方案4】:

        当您手动将文件(即图像/js/css)添加到目录并直接在 html/css 中使用它们(根据您的问题)时,Visual Studio 不知道它们存在。您需要“显示所有文件”,然后“在项目中包含”要发布的图像/文件。

        只有在 Visual Studio 的解决方案资源管理器中可见(=包含)的文件才会发布到您的服务器。

        【讨论】:

        • cmets 中的 OP 声明“在发布期间将图片复制到服务器上的图像文件夹。”这看起来更像是一个路径解析问题,因为她使用的是相对 URL。
        • OP 表示在调试时他会看到图像。这是一个本地 VS 实例,指的是磁盘上的本地文件。这与出版无关。发布(通过 Visual Studio)仅将项目中包含的文件复制到远程服务器。
        • 我想我找到了解决方案geospecialling.com/index.php/2009/04/…
        【解决方案5】:

        我遇到了同样的问题,在我的情况下,由于 Visual Studio 无法识别图像文件夹,我必须为每个人设置读取权限。一旦我设置了图像文件夹权限,我的图像就可以正常显示了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多