Nous chargeons un assembly (une DLL) qui lit un fichier de configuration. Nous devons changer le fichier de configuration, puis recharger l'assembly. Nous voyons qu'après chargement de l'ensemble la 2ème fois, il n'y a pas de changement dans la configuration. Quelqu'un voit ce qui ne va pas ici? Nous avons omis les détails de la lecture dans le fichier de configuration.Comment recharger un assembly pour un domaine d'application .NET?
AppDomain subDomain;
string assemblyName = "mycli";
string DomainName = "subdomain";
Type myType;
Object myObject;
// Load Application domain + Assembly
subDomain = AppDomain.CreateDomain(DomainName,
null,
AppDomain.CurrentDomain.BaseDirectory,
"",
false);
myType = myAssembly.GetType(assemblyName + ".mycli");
myObject = myAssembly.CreateInstance(assemblyName + ".mycli", false, BindingFlags.CreateInstance, null, Params, null, null);
// Invoke Assembly
object[] Params = new object[1];
Params[0] = value;
myType.InvokeMember("myMethod", BindingFlags.InvokeMethod, null, myObject, Params);
// unload Application Domain
AppDomain.Unload(subDomain);
// Modify configuration file: when the assembly loads, this configuration file is read in
// ReLoad Application domain + Assembly
// we should now see the changes made in the configuration file mentioned above
pourquoi vous nee d recharger l'assemby après la mise à jour du fichier de configuration? Contient-il des définitions de type que celles créées dynamiquement? –
Mitch - oui ils le font –