Unable to load .NET assembly-Collection of common programming errors

I have the following situation: I have a windows service that loads many external .dlls as AddIns using the Microsoft AddIn Framework. The AddIn .dlls are each in their own directory inside a ‘AddIns’ directory that is located in the directory containing the service exe. Every AddIn .dll references a common assembly that is basically an API for the AddIns. I put this in the service directory. The problem I am having is that the API .dll must be in every AddIn directory also or I get the error:

Exception has been thrown by the target of an invocation. – System.IO.FileNotFoundException: Could not load file or assembly ‘OSAE.API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The system cannot find the file specified.

I have also tried add this assembly to the GAC which seems to put it at C:\Windows\Microsoft.NET\assembly\GAC_MSIL\OSAE.API\v4.0_1.0.0.0__f47a6446f36f79f7, but this doesn’t seem to help.

How can I either tell the AddIns to look in a specific directory for the assembly or set it up where it is globally accessible somehow?