私は最近、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 を使用してリリース用のプロジェクトをビルドしています。コピー タスクを更新することで、イメージがリリース コピーに含まれていることを確認できるので、問題はありません。
しかし、プロジェクトをローカルで実行すると、画像が Web ページ (localhost インスタンス) に表示されなくなります。
次のようにする必要があります (Dev サーバー インスタンス):
もちろん、ミッション クリティカルではありませんが、プロジェクトをローカルで実行し、イメージが表示されず、ページ レイアウトが意図したとおりに表示されないのは、非常に面倒です。
これらのリンクされた画像をローカルに表示するにはどうすればよいですか?