The main problem, as I understand it, seems to be that C## code runs as managed i.e. it's interpreted code and what I'm creating does not appear to be a 'proper' DLL. It also precludes the use of pointers which would appear to be necessary to create the relevant interfaces for the plug-in DLL...