App_Code フォルダー (ABCD) に 4 つのクラスがあり、そのうちの 3 つ (ABC) をコンパイルし、D を .cs ファイルに残したいとします。しかし、C は D を参照しているため、D を App_Code フォルダーから除外することはできません。
特定のクラスのコンパイルを禁止するにはどうすればよいですか?
これを解決する秘訣は、クラスA
、B
、C
、およびD
すべてを Web アプリに含める代わりに、それを 2 つのプロジェクトに分割することです。クラスA
、B
、C
、および インターフェースID
を持つ 1 つの DLL と、クラスを含む 1 つの Web アプリでありD
、参照アセンブリとして DLL プロジェクトを持っています。
C
クラスへの参照をD
インターフェイスに変更ID
し、アセンブリをコンパイルするだけです。Web アプリで、参照されたアセンブリで定義されD
たインターフェイスを実装します。ID
そうすることで、 、、およびすべてをコンパイルD
しながら、クラスを変更可能にすることができます。A
B
C