2013-03-06 62 views
5

我最近参与了一个我最初在2000年用ASP编写的web项目(或者说,重新参与)。在过去的13年中,该项目在技术使用(ASP,ASP.NET 1.1,ASP.NET 3.5和ASP.NET 4.0)中发展并变得相当复杂。我们现在在VS 2010中工作。如何使我的web项目中的链接图像显示在我的本地开发Web服务器上?

有多个不同的web应用程序嵌套在同一棵树中。这些项目中的每一个都有自己的样式和图像文件夹,导致图像和css文件的冗余,这促使我们的GUI开发人员有点疯狂,试图让他们保持直线。

我正试图清理这个烂摊子。我的意图是将这些冗余资源整合到一个“核心”项目文件夹中。我希望其他的项目能够进一步向下,将这些文件链接到他们的项目中,而不是复制这些文件的副本。

我已经能够通过编辑下游Web项目并添加完成这一任务的以下内容:

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

这将导致图像链接了,它看起来正确的: enter image description here

而且当我构建项目时,文件最终会在bin文件夹中: enter image description here

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

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

enter image description here

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

enter image description here

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

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

+0

我自己并没有使用过这个功能,所以我可能无法正确理解它。但据我了解,这个文件夹是在发布时包含的。由于您未在本地使用网站之前发布网站,因此不会复制这些文件,因此不可见。 – StrubT 2013-03-06 14:20:21

+0

嗯,是的,但这正是我想改变的。 ;) – 2013-03-06 14:22:45

+1

好的,所以我至少明白你的意思。据我了解,你将不得不重写路径。也许有某种处理程序,但我不知道该怎么做...对不起... – StrubT 2013-03-06 14:25:30

回答

1

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

+0

什么是优秀的理念! :) – 2013-03-06 15:12:04

+0

呵呵......谢谢;) – StrubT 2013-03-06 15:16:31

相关问题