MATLAB: Is Interop.MLApp.dll used for interfacing C# with MATLAB version specific

MATLAB

I have written a utility in C# (.Net Framework 3.5) which interfaces with a MATLAB Automation Server (I use MLApp class). This application consists of two dlls and an exe, all of which create Interop.MLClass.dlls. I need my application to interface with MATLAB R2007b to R2009b. Is Interop.MLClass.dll MATLAB version specific?

Best Answer

Interop.MLClass.dll is created by C# and contains the CLSID of the MATLAB version used in your application. Thus, they are version specific.
Therefore a much better approach would be to write an application which uses late binding instead of early binding (which the Interop DLL uses).
See the related solution for an example on late binding from C#.