複数の Web プロジェクトを含むソリューションがあり、それらのいくつかに存在する必要があるページがいくつかあります。そのため、aspx ファイルを含み、他の Web プロジェクトから参照できる何らかの共有プロジェクトが必要になります。
現在、いくつかの実装があります。
共有プロジェクトを構築し、出力 aspx をホスト プロジェクトにコピーし、aspx の dll を参照することを含む、ScottGu によって記述された1 つの実装。この方法には、apsx が変更された場合、再コピーする必要があるという欠点があります。
David Ebbo の投稿に基づく別のオプションは、aspx をカスタム コントロールとして参照できる ascx-es に変換し、それらの custom-control-aspx-es を一部のプレースホルダー ページ内のホスト プロジェクトに含めることです。しかし、私の懸念は次のとおりです。すべての apsx ページを ascx に変換できますか? たとえば、ユーザー コントロールに Page.LoadComplete イベントがないことを意味します。
さらに別のオプションとして、Microsoft KB 記事で説明されているように、共有 Web プロジェクトにマップされる仮想ディレクトリを使用することもできます。この方法の問題点は、共有 aspx-es が事前定義されたディレクトリ (仮想ディレクトリ) にある必要があることです。仮想ディレクトリの名前が物理ディレクトリと重複する場合、仮想はそれをオーバーライドし、後者のページは使用できません。これら2つを一緒にマージすることはおそらく可能ですか?
何かご意見は?前もって感謝します PS 共有ページのデバッグはどうですか?