Ich brauche Blend 4, um einige Initialisierungscode aufzurufen, bevor es meine Anwendung vernünftig anzeigen kann, und ich verwende this approach von Josh Smith, um es zu erledigen.Blend ruft nicht DesignTimeBootstrapper
ich die folgende Projektstruktur bin mit:
MainProgram
-- Properties
-- AssemblyInfo.cs (including the custom attribute)
-- App.xaml
-- HostWindow.xaml (UserControls are embedded here)
-- DesignTimeBootstrapperAttribute.cs
ViewsAssembly
-- Lots of user controls
Aus irgendeinem Grund wird die Design-Zeit Bootstrap nicht nach jedem Build genannt (was zu meinen benutzerdefinierten Markup Erweiterungen Ausnahmen und viele Fehlermeldungen in Mischung zu werfen) . Es wird jedoch beim ersten Laden der Lösung aufgerufen, und ich verstehe nicht, wie sich Blend hier verhält.
Was mache ich falsch oder gibt es einen anderen Ansatz?
Bearbeiten: Ich habe festgestellt, dass eine vollständige Neuerstellung den Bootstrapper jedes Mal aufrufen. Vielleicht wird das als Workaround funktionieren, aber ich würde es trotzdem gerne verstehen.
Nur wundernd, aber sind Ihre Fehler wie "Fehlermeldung: Kein Konstruktor für den Typ [ClassName] hat 0 Parameter" –
Nein, nicht diese. Ich verwende einen Service Locator in Teilen meines Projekts und muss ihn vor der Verwendung initialisieren. Da die Initialisierung nicht aufgerufen wird, löst sie Ausnahmen aus, wenn Blend versucht, sie zu verwenden. – Jens