Ich habe mehrere Baugruppen in meiner Anwendung, von denen einige Installer enthalten. Ich muss jedoch sicherstellen, dass die Installationsprogramme in meiner Eingabeassembly zuerst ausgeführt werden. (. Meine Anwendung definiert einige Dekorateure, und um Fragen installieren)Eine bestimmte Baugruppe zuerst installieren
Ich habe versucht, dieses:
_container.Install(FromAssembly.Containing<MyApplication>());
_container.Install(FromAssembly.InDirectory(new AssemblyFilter(applicationDirectory)));
aber das läuft die Installateure in meiner Anwendung Montage zweimal, eine Registrierungs Ausnahme verursacht.
Ich kann dies durch Erstellen eines Feldes in den Installern zu verfolgen, um zu verfolgen, ob das Installationsprogramm ausgeführt wurde, und zurück, wenn es hat, aber das scheint hacky.
Gibt es eine geeignete Möglichkeit, Windsor eine einzige Baugruppe installieren zu lassen, und dann den Rest der Baugruppen in einem Verzeichnis ohne Duplizierung?
Ich denke, was ich ist so etwas tun möchte
_container.Install(FromAssembly.InDirectory(new AssemblyFilter(applicationDirectory))
.SkipAlreadyRegistered());
oder
_container.Install(FromAssembly.InDirectory(new AssemblyFilter(applicationDirectory))
.Except(FromAssembly.Containing<MyApplication>()));
ich das mag:
Dann zu registrieren. Ich werde es morgen versuchen! – gregsdennis
Sehr schöne Lösung. Funktioniert perfekt! – gregsdennis