If anybody has any advice on how to fix this, or any other things I could check for I'd be very grateful.
hi, i think you have to do this way first of remove all refernce of the project B assambly from the project A, then right click on the project B click on the property of the project B.
On Forex Factory you will find a few threads about it and some other projects using mt4that might answer additional questions. The other zip that is labled "source" contains the source code of the DLL, you don't need it for using the DLL.
However, the date modified for the dll and pdb file in A are not updated.
I have made sure that the dll for solution B referenced in the .refresh file for project A is pointing to the correct location.
I have checked the project references in project A, and the build properties, and build configuration manager options between projects B and C, and can't spot any differences, so I'm not sure why C updates correctly but B doesn't.
Finally, I've tried removing the references to B in A, and then making the output path of project B point to the bin directory of project A, and this works, BUT this is only a workaround, I have other projects which might need to reference project B, and I can't set the output directory to all of them.
This means I am unable to debug A properly because the source code does not match the executable (I've checked and the location of the file the breakpoint is added to is correct).
I can go into the bin/Debug folder in project B, the date modified fields for the dll and files in B are updated when the code is edited and recompiled.
Now you can bulid your project so whenever you bulid yout project B your B Project's dll copy to the Project A's bin folder.
One thing I've noticed is that when the project reference is removed and re-added to project A, the dll and pdb files have the date modified of when the assembly was added.
Its a thin wrapper/frontend around with an easy and intuitive MQL4 API.