実際に(機能的に)2つのポータルから構成される大きなASP.NETアプリケーション(レガシー)があります。だから私はそれらのそれぞれの開発を容易にするために、2つの別々のアプリケーションに分割する必要があります。2つのアプリケーションでASP.NETアプリケーションを分割する - 共有ページ/ユーザーコントロール/スクリプトの処理
もちろん、2つの機能には共通の機能があります。それらのうちのいくつかはDALとBLにあり、それは問題ではありません。そのコードは両方のアプリケーションで参照されるアセンブリを構成する独立した別々のプロジェクトでした。
しかし、いくつかのページでは、ユーザーコントロールの数が多く、2つの「ポータル」(アプリケーション)間で共有されるいくつかのCSSとjavascriptファイルが問題です。
私はそれらをどのように扱うべきかアドバイスをお願いしたいと思います。私の主な関心事は、重複を避けることです。理想的には、それらは単一の場所にとどまり、両方のアプリケーションで使用されるべきです。
まず最初に、あるプロジェクトから別のプロジェクトにリンクファイルとしてファイルを追加しようとしました。これはコードファイルで動作しますが(リンク先のプロジェクトに組み込まれています)、aspx/ascxやcss/javascript/imagesでは使用できません。最初に公開すると(コンテンツとしてマークされていると、公開中にコピーされます)、開発中にこれをいつでも行うことはできません。アプリケーションがソースコードからデバッグ/実行されると、
別の考えでは、プレビルドイベントを作成し、すべての共有ファイルを共通の場所からコピーすることにしました。 私はプロジェクトCommonを作成し、アプリケーション間で共有されているすべてのファイルをフォルダにまとめ、プレビルドすると、私はxcopy
を実行します。
また、すべての共有ファイルをSVNリポジトリの一部にすることもできます。私はで参照しています両方のプロジェクトで
しかし、私は少し煩わしいようです。誰にも似たような状況がありますか?どのように扱ったのですか?
私の提案のアドバイスはありますか?
アドバイスありがとうございました – bzamfir
最初の提案は私のシナリオにとって最良のようです(ユーザーコントロールを再利用する必要はないので、意味がありません)。しかし、私は2つの問題があります:1. IIS Expressで動作させることができますか? 2.私はすべてのパス、仮想ディレクトリを指すように私のすべての画像、CSSとスクリプトを参照して変更する必要があるようだ。簡単なタスクではなく、アプリケーションに数百ページがあることを示しています。質問1のために – bzamfir
@bzamfir、私は知らないと言う必要があります。質問2については、あなたの組織によって異なります。あなたのリソースが少数の場所にある場合、ページ内のパスを変更することなく、/ imagesまたは/ cssを仮想にすることができます。 – jbl