Microsoft が .net プラットフォームを立ち上げてから瞬く間に 4 年が経過し、.net も 1.0、1.1、2.0 とアップグレードを経験しました。 asp.net 2.0 と vs 2005 IDE のさまざまな優れた機能の魅力により、誰もが 2.0 を学習し、開発のためにプロジェクトを vs 2005 にアップグレードすることに忙しくしています。 しかし実際には、さまざまな理由により、新しいバージョンにアップグレードできないプロジェクトが数多くあります。時間が経つにつれて、古いバージョンのプロジェクトのメンテナンスの問題はますます面倒になってきます。 .net が誕生したのは最近ではありますが、4 年もあれば多くのプロジェクトが蓄積されます。
vs.net 2002 で開発されたプロジェクトがありますが、さまざまな理由によりアップグレードされていません (主に、プロジェクトは vs.net 2003 が登場する前からしばらく順調に実行されており、サーバー上の他の asp.net プログラムが使用できないため) .net 1.1 のセキュリティ要件に適応するため)。
会社の開発プラットフォームがアップグレードされたとき、vs.net 2002 と vs.net 2003 が同時にコンピュータにインストールされたため、プロジェクトの異なるバージョンのメンテナンスが一時的に解決されました。その後、プロジェクトはメンテナンス期間を過ぎ、長期間更新されていませんでした。私のコンピュータも再インストールされ、vs.net 2002 は完全に削除されました。しかし、2005 年になると、顧客は 1 ~ 2 か月ごとに変更を要求するようになり、メンテナンス期間が過ぎても変更を加える必要があったため、他に方法がありませんでした。しかし、ここで問題が発生します。vs 2002 がないとコンパイルできません。
.net Framework 1.0 をコンピュータにインストールし、手動で csc を呼び出して変更されたコードをコンパイルするのは非常に面倒です。プロジェクトには多くの参照があり、コマンド ラインの記述は非常に複雑です。これは、プロジェクトに多くのフォルダーがある場合に特に厄介です。私もテストを受けてコンパイルするプログラムを書いたのですが、怠け者で全然気づきませんでした。
今日、プログラムを再度変更する必要があり、非常に早い時期 (2002 年) に一度 @Page ディレクティブの Src 属性を使用したことを突然思い出しました。この属性を使用すると、asp.net は CodeBehind を使用する代わりに独自のコンパイル モデルを使用します。この方法では、サイトにアクセスすると、aspx ファイルと .aspx.vb ファイルが自動的にコンパイルされます。 この方法には主に 2 つの欠点があります。1. コード ファイル (.vb) をサーバーに公開する必要がある。2. vs.net IDE はこれをサポートしていない。 2つ目の問題があったので、使うのを諦めて忘れていました。 プログラムをコンパイルできないことが心配です。変更されたコードが有効である限り、他の欠点は考慮されません。 とにかく、すべてのソースコードはサーバーに公開されます。 CodeBehind 属性と同じ値を使用して、コード ファイルを指す Src 属性を @Page ディレクティブに追加しました。次に、.vb ファイル内のコードを変更します。更新すると、変更が有効になり、メンテナンスが完了します。とてもクールです。それがこれから私がやることです。 vs.net IDE はこれをサポートしておらず、MSDN で言及されているため、.net にこのコンパイル モデルがあることを知っている人は少ないかもしれません。私と同じような悩みを抱えている人がいたら、ぜひ Src をページに追加してみてください。コードを変更するとすぐに反映されます。頭を悩ませる必要はありません。それをコンパイルするツールを見つけます。
概要: 私を含む多くの人は、プログラムを dll にコンパイルすることを好みます。これは、リリースされたソフトウェアのように感じられます。実際、「すべてのソースコードをサーバーに公開し、実行時にコードを完全にコンパイルする」という方法は非常に優れており、将来のメンテナンス作業が大幅に簡素化されます。多くの企業は、実際にソース コードを顧客から隠す必要のない顧客向けのプロジェクトを行っています。この場合、.net が n 回アップグレードされているかどうか、または対応するバージョンの開発ツールがコンピュータにインストールされているかどうかに関係なく、この方法を使用すると、将来のメンテナンス作業に大きなメリットがもたらされます。すべてを処理します。
注: asp.net のすべてのバージョンはこのコンパイル モードをサポートしていますが、vs.net 2002 および 2003 の IDE はこれをサポートしていないため、デザイン ビューを開くことができません。 新しくリリースされた vs 2005 IDE は、このコンパイル モードをサポートしています。 Src 属性を使用する場合、CodeBehind 属性は必要なくなりますが、急に計算ビューに戻る必要がある場合にも役立ちますので、保持しておくことをお勧めします。 Inherits 属性は必須ではありませんが、削除しないことを強くお勧めします。aspx ファイルのコントロール宣言 (OnClick="...." など) でイベントを直接バインドすると、 Inherits 属性がないとエラーが発生します。
出典: cwbboyブログ