the str is the full path yes. When it uses the standard .net it works ok ie c:/program files/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.0/Profile/Client/System.dll

but when i use my own dll c:\myfolder\myLib.dll the compiled EXE throws a file not found error because it's looking for the dll in the exe folder. There must be a way for the compiler to do it automatically because VS2010 does it when I add the dll reference to my working project. It will save the dll to the bin/debug folder when I hit build and run.

I could do it manually by code to copy the dll there but how do I know which dll should be copied and which shouldn't? Not all standard libraries are in the \Reference Assemblies\ folder.