Gå til innhold

Anbefalte innlegg

Jeg holder for tiden på med et spill/engine i C#, og der skal brukeren kunne skrive sin egen kode i C#, som blir kompilert for enginen.

Et problem, er at jeg gjerne vil at virtual funksjoner og lignende skal komme opp i en liste for folk, og da må jeg laste assemblyet.

Problemet er at jeg ikke får unloadet det igjen, så neste gang en kjører compile, gir den tilbake at filen er i bruk...

Jeg bruker nå AppDomain som et forsøk for å få dette til, uten hell :p

 

 	if (m_glorginator_domain != null)
 	{
   m_this_asm = null;
   AppDomain.Unload(m_glorginator_domain);
   m_glorginator_domain = null;
   GC.Collect();
 	}

 

  	m_glorginator_domain = AppDomain.CreateDomain("Glorginator");
 	
 	m_glorginator_domain.SetupInformation.ApplicationBase = System.IO.Directory.GetCurrentDirectory();

 	m_glorginator_domain.Load(output_name);

 

Det funker en gang, men neste gang en kjører compile, kommer det opp feil i output vinduet.

 

Noen som har vært borti dette før?

 

eller som vet hvordan ReflectionOnly fungerer?

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...