5

我最近开始参与(或者更确切地说,重新参与)我最初在 2000 年用 ASP 编写的 Web 项目。在过去的 13 年中,该项目在技术使用(ASP、ASP.NET 1.1、ASP.NET 3.5 和 ASP.NET 4.0)方面都在发展并变得相当复杂。我们现在正在使用 VS 2010。

在同一棵树中嵌套了多个不同的 Web 应用程序。这些项目中的每一个都有自己的样式和图像文件夹,导致图像和 css 文件存在大量冗余,这使我们的 GUI 开发人员有些疯狂地试图保持它们的完整性。

我正在努力收拾残局。我的意图是将这些冗余资源整合到一个“核心”项目文件夹中。我希望其他位于树下的项目将这些文件链接到他们的项目中,而不是拥有它们的副本。

我已经能够通过编辑下游 Web 项目并添加以下内容来完成此操作:

  <ItemGroup>
    <Content Include="..\..\Core\XXXXX.XXXXX.ASP.Web\Images\**\*.*">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <Link>images\%(RecursiveDir)%(FileName)%(Extension)</Link>
    </Content>
  </ItemGroup>

这导致图像被链接并且看起来正确: 在此处输入图像描述

当我构建项目时,文件最终会出现在 bin 文件夹中: 在此处输入图像描述

我们使用 nant 构建我们的发布项目,我可以通过更新我的复制任务来确保图像包含在发布副本中,所以那里没有问题。

但是当我在本地运行项目时,图像拒绝出现在网页中(本地主机实例):

在此处输入图像描述

它应该看起来像(开发服务器实例):

在此处输入图像描述

当然,这不是关键任务 - 但是在本地运行项目并且看不到图像以及预期的页面布局确实很烦人。

如何使这些链接的图像在本地显示?

4

1 回答 1

1

您可能希望使用处理程序和/或根据环境重写图像路径,而不是复制图像。

于 2013-03-06T15:09:18.777 回答