[Mono-dev] reloading mono domain or assemblies

Robert Jordan robertj at gmx.net
Fri Aug 13 10:04:58 EDT 2010


On 13.08.2010 15:39, marcus julius wrote:
>>> On 13.08.2010 15:10, marcus julius wrote:
>
>>> Did I make a mistake and/or is there a way to do this?
>
>> There are 2 ways to reload an assembly:
>
>> 2) Use app domains which can be unloaded together with
>> their assemblies by design.
> Thanks for the quick reply.
>
> Ok, I know how to do this in C#. Is there a way to create
> app domain using mono in C++? If there is, I can create
> my monoDomain and assemblies in that app domain, so I can unload them.
>
> Otherwise, It won't help me to create an appdomain in C# since the
> Dlls I want to change are locked by the mono in C++.

Well, it doesn't really matter who's creating the domains
and loading the assemblies. It's by far easier to implement
this in C# and then mono_runtime_invoke it from C++.

Of course, you can invoke everything from C++ but this will
likely triplicate the amount of code to be written.

Furthermore, the only safe way to create a domain in C++ is
mono_runtime_invoke-ing System.AppDomain.CreateDomain(), IIRC.

Robert



More information about the Mono-devel-list mailing list