On Dec 16, 2010, at 3:24 PM, mike wrote: > Thanks for the reply. Here is an example attached driver (test.cs) which > calls the Activator.CreateInstanceFrom(). Runs fine under NET 2.0 but bombs > under mono 2.8 with the 'implement type compare for 1b!' error message. You > will need to construct asmall native C++ dll with a matching class name and > constructor to call.
On .NET, you're _not_ invoking a "native C++ DLL," you're invoking a C++/CLI DLL. (It must be this way, as a normal native C++ DLL will use tons of compiler-specific name mangling for the types and namespaces, so "mycplusplusnamespace.mycplusplusclass" has no chance of working, ever, on any platform, unless the runtime directly supports native C++ code, which would likely make it specific to a particular C++ compiler, thus somewhat defeating the point of the CLR...) Mono does NOT support C++/CLI assemblies, hence the error you see. In short, Don't Do That, avoid C++/CLI and use P/Invoke instead if you want to run on Mono under any platform other than Windows. (Or, compile your C++/CLI assembly with /clr:pure so that it isn't a mixed-mode assembly and instead consists solely of IL. How practical this is depends upon your code.) - Jon _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list