Ich benutze die Desktop-Bibliothek von Prism.
Was ich möchte, ist Module in einem Verzeichnis zu erhalten und sie dann auszuführen.
Ich mache das so:
DirectoryModuleCatalog catalog = new DirectoryModuleCatalog();
catalog.ModulePath = @"C:\Users\Raph\Documents\Visual Studio 2010\Projects\LibraryLoad\LibraryLoad\Modules";
Ich habe überprüft, die Module sind im Katalog geladen. Beispiel für ein Modul:
public class SendEmailClass : IModule
{
public void SendEmail()
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("**", "mich");
mail.Subject = "Bericht"; //generierten Betreff verwalten
mail.To.Add("***");
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com");
smtp.Port = 57;
smtp.EnableSsl = true; //abhängig vom SMTP-Server
NetworkCredential cred = new NetworkCredential("***", "***");
smtp.Credentials = cred;
smtp.Send(mail);
}
public void Initialize()
{
SendEmail();
}
}
Aber dann möchte ich sie ausführen (ihre Initialize() starten), aber ich finde es nicht. Ich möchte den gesamten Katalog ausführen. Hat jemand eine Idee? Ich habe catalog.Initialize(), catalog.Validate() oder catalog.Load() ausprobiert.