問題は、サイトを構成したとおりに構成すると、www.website2.comとwww.website3.comが別々のアプリケーションになり、/vd1/または/vd2/の外部に存在するコンテンツやコードを表示できないことです。それぞれ(そうです、それはc:\website1\の/app_code/フォルダーと、そこにある可能性のある画像、css、ユーザーコントロール、マスターページなどです)。
共有しているのが/app_code/フォルダー内のロジックだけである場合、それをVisual Studioの新しいプロジェクトにコピーできますか?理想的には、新しいクラスライブラリプロジェクトを作成し、そこに.csファイルを含めるだけです。それを.dllファイルにコンパイルし、Webサイトプロジェクトで、そのライブラリへの参照を追加します。
ただし、これは、ユーザーコントロール、または使用する可能性のあるその他の一般的なページ(ログイン、登録など)ではうまく機能しません。
次に、各仮想ディレクトリに/ bin /フォルダーを作成し、ライブラリもそこにコピーするようにします。www.website1.comでもアプリケーションとして設定するようにウェブホストに依頼する必要があるかもしれません。
コメントに返信するために編集
そうです、あなたはおそらくあなたの前にかなりの仕事をしているでしょう、しかしあなたがこのようなサイトの一部を異なるドメインに分割している理由を知らなければ、私は実際にその方法についての解決策を提供することはできませんブライアンが以下で指摘しているように、複数のドメイン(ホストヘッダーと呼ばれる)をIISの単一のサイトにマップできるため、3つすべてが同じルートを指すようにすることができます。
別のルックアンドフィールを探している場合は、System.Web.UI.Pageから継承し、代わりにページを継承するコアの「ベースページ」タイプクラスを使用することを検討してください。次に、URLのServerNameに基づいてテンプレートを交換できます。たとえば、MasterPagesを使用している場合は、OnPreInitメソッドでこれを行う必要があります。
また、必要に応じて、ユーザーがサイトの正しいセクションに確実に移動するように、そこにロジックを追加することもできます。