我最近参与了(或者更确切地说,重新参与)我最初在2000年用ASP写的一个网络项目。在过去的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来构建我们的发布项目,我可以通过更新我的复制任务来确保图像包含在发布副本中,所以没有问题。
但是当我在本地运行项目时,图像拒绝出现在网页(localhost实例)中:
它应该看起来像(Dev服务器实例):
当然这不是关键任务 - 但是在本地运行项目并且看不到图像以及因此的页面布局真的很烦人。
如何让这些链接图像显示在本地?
答案 0 :(得分:1)
您可能希望使用处理程序和/或根据环境重写图像路径,而不是复制图像。