2

C# で記述された ASP.NET WebApplication (Web サイトではない) があります。

サーバー内の 50 以上のサイトにこのアプリケーションを公開して展開したいと考えています。いくつかのdllを作成してサーバーのGACに配置することをお勧めします。これにより、すべてのサイトがGACのdllを使用し、GACのいくつかのdllを置き換えるだけですべてのサイトを更新できます。

アプリケーションを発行すると、すべての .cs ファイルに対して 1 つの dll が取得されますが、すべての .aspx ファイルが残ります。.aspx ファイルも単一のアセンブリにマージしたいと考えています。

私の場合、何か方法はありますか?または他のアイデアはありますか?

4

2 に答える 2

0

Webプロジェクトのプロパティ:

パッケージ/公開ウェブ

チェック-公開する前にこのアプリケーションをプリコンパイルします

Advanced-すべての出力を単一のアセンブリにマージします

于 2012-11-05T05:46:15.280 に答える
0

パブリッシュ設定に移動すると、すべての cs コードが app_web.dll にマージされることをオフにすると、「サイトを更新可能にする」オプションがあります。

コードへのエントリ ポイントを定義するため、すべての個別の aspx ページが残ります。私の知る限り、それらをマージする唯一の方法は、すべての個別の aspx ページを default.aspx にコピーして貼り付け、それらをラップして<asp:Panel ID="HomePage" Runat="Server" Visible="False">から、QueryString に応じて Page_Load に表示される右側のパネルを設定することです。URL 書き換えを使用して、引き続き適切な URL を取得できます。

あなたが持っているページの数とコードの大きさにもよりますが、私はおそらくこれを自分でやらないでしょう. しかし、1 ページの結果が他のページよりも重要であることがわかった場合、それは技術的に可能です。

おそらく別のオプションは、アプリケーションをサブドメインでホストし、必要な場所に iframe することです。これは、設定によってはクロスオリジンの問題が原因で不可能になる場合がありますが、「よりクリーンな」方法で動作します。

これが役に立ったことを願っています。

于 2012-11-04T11:53:42.477 に答える