我最近参与了一个我最初在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>
这将导致图像链接了,它看起来正确的:
而且当我构建项目时,文件最终会在bin文件夹中:
我们使用nant构建我们的项目以便发布,并且我可以确保通过更新我的复制任务,图像被包含在发布副本中,所以没有问题。
但是当我在本地运行项目,图像拒绝出现在网页(本地主机实例):
它应该看起来像(开发服务器实例):
当然这不是关键任务 - 但是,在本地运行项目并且看不到图像以及页面布局的意图是非常烦人的。
如何让这些链接的图像在本地显示?
我自己并没有使用过这个功能,所以我可能无法正确理解它。但据我了解,这个文件夹是在发布时包含的。由于您未在本地使用网站之前发布网站,因此不会复制这些文件,因此不可见。 – StrubT 2013-03-06 14:20:21
嗯,是的,但这正是我想改变的。 ;) – 2013-03-06 14:22:45
好的,所以我至少明白你的意思。据我了解,你将不得不重写路径。也许有某种处理程序,但我不知道该怎么做...对不起... – StrubT 2013-03-06 14:25:30