2009-07-17 6 views
1

奇妙でおそらく簡単な問題です。私は1つのソリューション(.NET 2.0、Visual Studio 2005、C#)で3つのプロジェクトを持っています。DLLへの参照を追加する理由は何ですか?

public abstract class GenericService<T> { } 

第二つServiceImplementation.dllあるのGenericService継承ServiceImplementationクラス含ま:

public class ServiceImplementation : GenericService<SomeType> { } 

三つであるが最初のものは、1つの抽象ジェネリッククラスと呼ばれるのGenericServiceが含まGenericService.dllを生成しますServiceImplementationを使用するWindowsアプリケーション:

ServiceImplementation si = new ServiceImplementation(); 

ServiceImplementationプロジェクトはGenericServiceプロジェクトを参照し、WindowsアプリケーションプロジェクトはServiceImplementationプロジェクトを参照します。このWindowsアプリケーションはコンパイルできません。GenericServiceへの参照が必要です。

なぜですか?それをどうすれば解決できますか?

答えて

8

あなたのアプリケーションが既にそれが直接のGenericService内の任意のクラス/メソッドにアクセスする場合、それが直接の参照を持っている必要があります、しかし、ServiceImplementationを参照している....のGenericServiceへの参照を追加します。

関連する問題