Domanda

C'è un modo per scaricare il dominio applicazione predefinita .NET da un'applicazione non gestita?

sto usando uno strumento di terze parti chiamato NET Extender per l'utilizzo di assembly .NET da all'interno di Visual FoxPro che mi permette di ospitare controlli .NET e anche fare uso di classi e metodi .NET all'interno di un ambiente di FoxPro.

Il problema che sto avendo è che quando il debug di un'applicazione da all'interno di Visual FoxPro si corre il tutto sotto il file dell'applicazione vfp9.exe principale per l'IDE e sembra che gestisce ai miei assembly gestiti non vengono rilasciati. Così, quando faccio un cambiamento a questi assembly .NET e desidera aggiornarli devo chiudere l'IDE VFP e riaprirlo altrimenti ottengo una violazione di condivisione quando si tenta di sovrascrivere i file.

Ho iniziato a guardare in modo di garantire che i controlli sono disposte, ma poi mi sono imbattuto in questo articolo da Rick Strahl dove descrive in sostanza che il problema è davvero che il dominio di applicazione principale non viene scaricato. Dopo aver guardato attraverso informazioni su come scaricare il dominio applicazione di default sono giunto alla conclusione che questo non è possibile, almeno da un'applicazione gestita, ma è possibile per un'applicazione non gestita. Il mio pensiero è che solo perché un'applicazione non gestita ha utilizzato una risorsa .NET non dovrebbe avere per continuare a portare in giro il bagaglio dominio di applicazione e Runtime.

È stato utile?

Soluzione

Questa domanda è stato risposto sul MSDN e purtroppo sembra che questo non è possibile e che un processo deve essere terminato per rilasciare le risorse inclusi i domini di app. Questo è descritto nella documentazione per l'ICLRRuntimeHost.Stop metodo di interfaccia in cui si afferma "Questo metodo non rilascia le risorse per l'host, scaricare domini di applicazione, o distruggere le discussioni. è necessario terminare il processo di liberare queste risorse".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top