1

コード ファイルの jit コンパイルに App_Code フォルダーを使用していない Web サイトがあります (それが App_code の目的ですよね?)。代わりに、開発者は、ページに必要なすべての必要なクラスをコード ファイルに詰め込むか、ページのアセンブリ ディレクティブ src を取得する個々の .cs ファイルに詰め込む必要があります (これは、ソース ファイル間の依存関係によるものです)。

互いに依存関係を持つクラスを別々のファイルに配置する方法はありますか?

たとえば、Presenter.cs は Model.cs に依存しています。Presenter.cs のページにアセンブリ ディレクティブを追加して、満足させたいと思います。しかし、これは Model.cs をコンパイルしないため、機能しません。両方のコード ファイルにアセンブリ参照を追加しても機能しません。

私が見逃しているメカニズムはありますか?

編集:答えは、App_Codeフォルダーがこのタスク用に正確に作成されており、それを行うための他の/より良い方法がないということだと思います.

4

1 に答える 1

0

「CodeBehind」と言うとき、実際には「CodeFile」を指していますか? (私が「ASP.NET Web サイト」のファンではなく、MVC を好む多くの理由の 1 つです)。

私の知る限り、ASP.NET ランタイムはすべての App_Code ファイルをまとめて独自のアセンブリにコンパイルしますが、各ページの CodeFile (CodeBehind ではない) のコードは、この匿名アセンブリのみを参照でき、互いのコードは参照できません。

「ページ アセンブリ参照」の意味を明確にできますか? <%@ Assembly %>名前空間のインポートを行っていますか、それとも意味していますか<%@ Import %>(前述のように、多くのコードが匿名アセンブリにコンパイルされるため)。

共通のコードとクラスを App_Code 内の *.cs ファイルに移動することをお勧めします。それはうまくいくはずです。

于 2012-06-14T21:30:29.303 に答える