Jak ponownie załadować zespół dla domeny aplikacji .NET?
Ładujemy zespół (DLL), który odczytuje plik konfiguracyjny. Musimy zmienić plik konfiguracyjny, a następnie ponownie załadować zespół. Widzimy, że po załadowaniu zespołu po raz drugi, nie ma zmiany konfiguracji. Czy ktoś widzi, co tu jest nie tak? Pominęliśmy szczegóły odczytu w pliku konfiguracyjnym.
<code>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 </code>