J'essaie de créer un domaine d'application dans VB/VS2015 en utilisant .net Framework 4, 64 bits, mais je reçois une exception OutOfMemoryException.Création d'AppDomain à l'aide de .net Framework 4 donne OutOfMemoryException
domain = AppDomain.CreateDomain("mydomain")
Il fonctionne très bien si je le fais dans un formulaire d'application Windows, mais je suis en train de le faire dans une bibliothèque de classes (pour être appelée à partir d'une application 3ème partie), et il échoue à chaque fois. Je voudrais savoir s'il est légal de créer un domaine dans ces circonstances (après tout, je ne crée pas d'application), et le message d'erreur est trompeur, ou y a-t-il autre chose qui me manque? (preuve de sécurité?).
Microsoft admet un bogue dans cadre 4.5 qui donne cette erreur (see this), mais je l'aide du cadre 4.
Pour donner un peu plus de fond, j'utilise un appdomain pour charger et décharger dynamiquement une DLL que je crée, donc je peux décharger, recompiler et recharger pendant le développement, car l'application tierce qui appelle ma DLL est très lente à démarrer et charger des documents. J'aimerais me rapprocher le plus possible de Edit and Continue!
Vous mentionnez Process.Net, voulez-vous dire https://github.com/lolp1/Process.NET? –
J'essaye de voir pourquoi vous avez "using ProcessDotNet" ... devrait-il être "using Process.NET"? Même alors, je ne peux pas donner un sens à "Process.GetCurrentProcess()". Est-ce que je manque quelque chose? –
Oui, vous avez raison. J'ai déplacé toute la bibliothèque dans un autre espace de noms. Cela peut aussi être la raison pour laquelle vous rencontrez des problèmes avec 'Process.GetCurrentProcess()'. Essayez 'System.Diagnostics.Process.GetCurrentProcess()' – sneusse