[Mono-list] Missing .ctor

Francois Schelling fschelling at square-enix-montreal.com
Tue Aug 7 20:32:42 UTC 2012


Hi,

I'm new with Mono and I'm having a problem to get my project running.  I've created a C++ console application in which I would like to embed a C# dll.  I'm able to open my C# dll but once I try to invoke a function on my C# object, I got the following error:

Missing method .ctor in assembly D:\projects\monoscripting\monoscripting\monoscript.dll, type System.Runtime.Versioning.TargetFrameworkAttribute
Can't find custom attr constructor image: D:\projects\monoscripting\monoscripting\monoscript.dll mtoken: 0x0a00000d

I'm using Mono 2.10.8 with Visual Studio 2010.

My CS class look like this :

class ScriptTest
{
public ScriptTest() { }

void TestMe()
{
	Console.WriteLine("Hello %f\n", m_Test);
}

public float m_Test = 0;
}

My C++ main() looks like this:

int main(int argc, char* argv[])
{
	mono_set_dirs("mono/lib", "mono/etc"); 
	MonoDomain* domain = mono_jit_init("monoscripting.exe");

	MonoAssembly* assembly;
	assembly = mono_domain_assembly_open (domain, "monoscript.dll");
	if (!assembly)
	{
		return 1;
	}

	mono_config_parse(NULL);

	MonoImage* image = mono_assembly_get_image( assembly );
	if (!image)
	{
		return 1;
	}

	const char* ns = "monoscript";
	const char* name = "ScriptTest";
	MonoClass* klass = mono_class_from_name (image, ns, name);
	if (!klass)
	{
		return 1;
	}
	
	// Create a new instance of the class.
	MonoObject* object = mono_object_new( domain, klass );

	// Get the constructor of the class.
	MonoMethod* constructorMethod = mono_class_get_method_from_name( klass, ".ctor", 0);
	MonoObject* pException = NULL;
	mono_runtime_invoke (constructorMethod, object, NULL, &pException);

...
}

I've added the following code to see the content of my class and the constructor seems to be there:

void* iter = NULL;
while ((method = mono_class_get_methods (klass, &iter)))
{
	printf(mono_method_get_name(method));
	printf("\n");
}

Give me the following output:

.ctor
TestMe

Anyone have a idea to solve my problem?

Thanks!
__________________________________________________
Francois Schelling
Senior Programmer
Square Enix Montréal 







______________________________________________________________________
This email has been scanned by the MessageLabs
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20120807/83bff89c/attachment-0001.html>


More information about the Mono-list mailing list