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 を使用してリリース用のプロジェクトをビルドしています。コピー タスクを更新することで、イメージがリリース コピーに含まれていることを確認できるので、問題はありません。

しかし、プロジェクトをローカルで実行すると、画像が Web ページ (localhost インスタンス) に表示されなくなります。

ここに画像の説明を入力

次のようにする必要があります (Dev サーバー インスタンス):

ここに画像の説明を入力

もちろん、ミッション クリティカルではありませんが、プロジェクトをローカルで実行し、イメージが表示されず、ページ レイアウトが意図したとおりに表示されないのは、非常に面倒です。

これらのリンクされた画像をローカルに表示するにはどうすればよいですか?

4

1 に答える 1

1

イメージをコピーするのではなく、ハンドラーを使用したり、環境に基づいてイメージ パスを書き換えたりすることができます。

于 2013-03-06T15:09:18.777 に答える