Link to a Microsoft Enterprise Library DLL file in a DLL wrapper

I am writing an application using the Microsoft Enterprise Library . I wrote a wrapper DLL file for this Enterprise Library DLL file. I want to use my wrapper in a Windows Forms application . The problem is that every time I want to use my shell, I get a compilation error message stating that there is no link to the Enterprise Library DLL file.

I can just solve it by providing this link, but I think there is something missing here because I just wrapped this DLL in the Enterprise Library in my DLL. Why is the link not inherited from my shell project into a Windows Forms project?

As I understand it, a Windows Forms application looks for the bin directory, and then the GAC , and if it does not find the required DLL file, it causes an error.

The Microsoft Enterprise Library DLL file is already signed in the GAC, what is the problem? Like I said, I feel like I'm missing something!

+3
source share
2 answers

Assembly references are not transitive.

If you reference assembly A, which refers to assembly B, you will not automatically get a reference to assembly B. If your interaction with A requires types from B, you will also need to refer to B.

+4
source

You must specify the library you are using (and only then it will look for it in the local folder and GAC)

"" ( DLL), , .

+1

All Articles