Yes, you can do it without GAC, and you don't even need to have the absolute folder name for you libraries.
All you need to do is to make sure every application points to the library path relative to its executable path. For example, if you have several applications with the names
*.exe
. Then for each one you need a file with the name
*.exe.config
looking like this:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath=".\MySharedLibraries"/>
</assemblyBinding>
</runtime>
</configuration>
Basically, using this method, you can choose different directory structures, to share some assemblies by several applications.
—SA