2011-08-13 12 views
2

似たような質問がたくさんありますが、私の特定の問題をあまり理解していないようです。.NET内の別のプロジェクトで使用されているプロジェクトで参照されているDLL

私はA、外部DLLを参照するクラスライブラリ

Microsoft.TeamFoundation.WorkItemTracking.Client, 
Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 

プロジェクトAは、細かいプロジェクトをコンパイルしている - 私はローカルにコピーし、参照DLLを設定し、グローバルとしてそのままエイリアスを残しました。

プロジェクトBの参照プロジェクトAとすべてが、コンパイルの最後を除いて、ちょうどダンディですが、私は得る:

Error 5215 The type 

「Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem」 で定義されています参照されていないアセンブリ。 'Microsoft.TeamFoundation.WorkItemTracking.Client、 バージョン= 9.0.0.0、Culture =ニュートラル、 PublicKeyToken = b03f5f7f11d50a3a'という アセンブリへの参照を追加する必要があります。 C:... \ Content \ Status.aspx.cs 9 13 ProjectB

すべてが同じソリューションファイルにあります。この場合、私は何が欠けていますか?プロジェクトBからのプロジェクトAの参照は、プロジェクト参照で行います。

私はこれについて恐れているdllの地獄について聞いていますか?

+0

プロジェクトBはそのDLLを直接使用しますか? –

+0

いいえ、プロジェクトAを通じてのみ – Matt

+0

私は@ジョンが何かをしていると思います。あなたはプロジェクトAで明示的にそれを使用しなければならないかもしれません。私はそれをテストしたいと思っています。 –

答えて

1

プロジェクトBはWorkItemクラスを使用していますか?プロジェクトAのメソッドから返されますか?

その場合、そのクラスを含むDLLはプロジェクトBによって参照される必要があります。他のどのようにプロジェクトBがその型のオブジェクトを宣言するか、そのクラスのメソッドを呼び出すことができますか?

-1

プロジェクトBはそのDLLを直接使用するので、プロジェクトもDLLを参照する必要があります。

+0

-1彼はプロジェクトBがプロジェクトAを使ってそのDLLを使用するとしか言いません。 –

+0

私はなぜこれが下降したのかわかりませんが、この特定のケースでは正しい答えではありません。 DLLが何らかの形で直接使用されている場合や、メソッド呼び出しの戻り値からDLLが使用されている場合は、DLLを参照する必要があります。 –

+0

プロジェクトBはプロジェクトAを介して間接的にしか直接DLLを使用しません。 –

関連する問題