3

MicrosoftEnterpriseLibraryを使用してアプリケーションを作成しています。そのエンタープライズライブラリDLLファイルのラッパーDLLを作成しました。一部のWindowsフォームアプリケーションでラッパーを使用したい。問題は、ラッパーを使用するたびに、エンタープライズライブラリDLLファイルへの参照が欠落しているというエラーがコンパイルで発生することです。

このリファレンスを提供することで簡単に解決できますが、エンタープライズライブラリDLLファイルをDLLでラップしただけなので、ここで何かが欠けていると思います。ラッパープロジェクトからWindowsフォームプロジェクトに参照が継承されないのはなぜですか?

私が理解しているように、Windowsフォームアプリケーションはbinディレクトリを検索してからGACを検索し、必要なDLLファイルが見つからない場合は、エラーが発生します。

Microsoft Enterprise Library DLLファイルはすでに署名されており、GACに含まれているので、ここでの問題は何ですか?私が言ったように、私は何かが欠けていると感じています!

4

2 に答える 2

4

アセンブリ参照は推移的ではありません。

アセンブリBを参照するアセンブリAを参照して呼び出す場合、アセンブリBへの参照は自動的に取得されません。Aとの対話でBの型が必要な場合は、Bも参照する必要があります。

于 2008-11-23T13:38:45.830 に答える
1

使用するライブラリを指定する必要があります(その場合にのみ、ローカルフォルダとGACでライブラリが検索されます)

参照は「継承」されておらず、動的にリンクされているため(dllの一部として含まれていないため)、必要に応じて開かれます。

于 2008-11-23T13:38:14.770 に答える