[Mono-list] mono_method_desc_search_in_image problem, and some question...

pierre pierre.saunier at ppmodeler.com
Sun Feb 11 23:45:33 UTC 2018


Hi,

I am trying to embed mono... and I ran into a problem:
with the code:
   TypeMethodDesc = mono_method_desc_new("Script:Main", 0);
   method = mono_method_desc_search_in_image(TypeMethodDesc, 
monoEngine->image);

is returning a method on the cs code:

    public class Script
    {
       static public void Main ()
       {
         ScriptEngine.report("--Main Called ");
       }
    }


but it is also returning a method on the code:

    public class Script*2*
    {
       static public void Main ()
       {
         ScriptEngine.report("--Main Called ");
       }
    }


and a question:
is there a way to know if mono_domain_unload was successful or not?

I am creating an app domain per script so that I can recompile and 
reload the script at will...
I do not detect an error, but the new script seems (not always at least) 
not to replace the old one...
Basically, I am doing:

    res = mono_domain_set(rootDomain, FALSE);
    mono_domain_unload(monoEngine->domain);
    monoEngine->domain =
    mono_domain_create_appdomain("ScriptEngine-sub", NULL);

    data = readFile(f, &dataLen);
    fclose(f);
    monoEngine->image = mono_image_open_from_data_with_name(data, dataLen,
                                                               TRUE /*
    copy data */,
    &status,
    FALSE /* ref only */,
    monoEngine->fileName);
       free(data);
       if (status != MONO_IMAGE_OK || monoEngine->image == NULL)
       {
         return FALSE;
       }

         // load the assembly
       monoEngine->assembly =
    mono_assembly_load_from_full(monoEngine->image,
    monoEngine->fileName,
    &status, FALSE);
       if (status != MONO_IMAGE_OK || monoEngine->assembly == NULL)
       {
         mono_image_close(monoEngine->image);
         return FALSE;
       }

but it does not seem to work everytime.
Lastly, Is there a way to compile cs source without launching a

    system("msc.code.cs -target:library");

thanks in advance

Pierre

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dot.net/pipermail/mono-list/attachments/20180212/495a05ff/attachment.html>


More information about the Mono-list mailing list