私たちの製品は ASP.Net Web アプリケーションです。現在、Visual Studio で Web サイト プロジェクトを使用していますが、かなり前から Web アプリケーション プロジェクトの使用を検討しています。展開プロセスを改善できるように、現在それらを調査しています。
異なるクライアント間で共有および共通のベース Web サイトがあり、それをクライアント Web サイト プロジェクトのクライアント固有の機能で拡張します。クライアント プロジェクトはベースを拡張するため、そのコンテンツに依存します。完全な製品を構築するには、まずベース Web サイトを展開し、次にクライアント プロジェクトのコンテンツをオーバーレイします。
Visual Studio での Web アプリケーション プロジェクトへの変換を検討するにあたり、ベース プロジェクトを作成し、次にクライアント プロジェクトを作成してベースへの参照を設定できるようにしたいと考えていました。この構造は正常に機能しているように見えますが、MSDeploy を使用してクライアント プロジェクトからアプリケーションをデプロイしようとすると、ベース Web サイトからの dll のみが発行されます。コンパイルされたコードを参照すると便利な場合もありますが、クライアント アプリケーションが機能するために必要なソースである画像、js ページ、htm などの項目もあります。ベース Web サイトからコンパイルされたコード以上のものが必要です。
以上のことから、ここでいくつかのオプションを考えることができます。
- 2 つのステップでデプロイを続行します。最初にベース Web サイト、次にクライアント Web サイトで完全な製品を構築します。
- ベース プロジェクトから必要なソース ファイルをコピーするようにデプロイ プロセスを変更します。
- モデルを再構築して、このベースとクライアントの関係を別の方法でサポートします。これがどのように機能するかはよくわかりませんが、実行可能な選択肢が最も少ないでしょう。
- ??
私が見逃している別のオプションはありますか?プロジェクトの設定方法に何か問題がありますか? コンパイルされたコードを共有する以外に、Web アプリケーションが別の Web アプリケーションを参照できるようにすることはありますか? その場合、共有クラス ライブラリを使用しないのはなぜでしょうか。または、MS Deploy プロセスで何か不足している可能性がありますか?
何かが足りないような気がするので、ここで提案を受け付けています。私たちの Web アプリケーションのモデルがあまりにもユニークだとは思いません。
更新: デュアル デプロイ プロセスは機能しますが、少しぎこちなく感じます。他の入力はありますか?