Hallo zusammen,
ich habe da ein Problem mit Namespaces. Um mein Projekt bissl strukturierter auf zu bauen, habe ich Bestandteile in alternative Namespaces gepackt. Jetzt bekomme ich nur immer probleme beim laden des Designers. Obwohl im laufenden Betrieb keine Probleme auftauchen, wird im Designer nichts angezeigt.
Ich erhalte folgende Begründung:
Fehler 3 Für XAML-Dateien, die nicht Bestandteil eines Projekts sind, muss eine Assembly angegeben werden. Öffnen Sie diese XAML-Datei noch einmal, nachdem Sie sie einem Projekt hinzugefügt haben. Schließen Sie die Datei, und öffnen Sie sie unter Verwendung des verknüpften Projekts erneut, oder ändern Sie den CLR-Namespace, indem Sie den Assemblynamen hinzufügen.
und binde so meine Namespaces ein.
xmlns:local="clr-namespace:MeinNamespace"
Weiß jemand Rat?
Gruß dat Tala
Hallo Taladan,
entweder ist es ein Fehler vom Designer oder Visual Studio braucht noch die Angabe der Assembly. Versuch mal hinter clr-namespace:MeinNamespace folgendes noch hinzuzufügen: ;assembly=<AssemblyName>.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Hatte ich auch schon vermutet, aber wo finde ich die Bezeichnung der eigenen Assembly, da mein Projekt Leerzeichen im Namen hat, wird es wohl kaum der Name sein.
Gruß dat Tala
Ok. Ausprobiert und Fail.
Egal wie ich es referenziere. Ich bekomme den Designer selten dazu das an zu zeigen, was ich erwarte.
Wenn ich normal Refernziere (also ohne assembly):
Für XAML-Dateien, die nicht Bestandteil eines Projekts sind, muss eine Assembly angegeben werden. Öffnen Sie diese XAML-Datei noch einmal, nachdem Sie sie einem Projekt hinzugefügt haben. Schließen Sie die Datei, und öffnen Sie sie unter Verwendung des verknüpften Projekts erneut, oder ändern Sie den CLR-Namespace, indem Sie den Assemblynamen hinzufügen.
Der UC:HierarchicalItemView-Typ wurde nicht gefunden. Alle Assemblyverweise müssen vorhanden sein, und alle Assemblys, auf die verwiesen wird, müssen erstellt worden sein.
Und mit Assembly in der Referenzierhung
Das Tag "HierarchicalItemView" ist im XML-Namespace "clr-namespace:Namespace" nicht vorhanden.
Langsam verzweifle ich.
Gruß dat Tala
"Für XAML-Dateien, die nicht Bestandteil eines Projekts sind, muss eine Assembly angegeben werden"
Das sagt doch eindeutig das das "assembly;bla" fehlt
Wenn deine dll Datei ein Leerzeichen enthält ist das kein Problem.
VS hilft dir normalerweise auch immer beim auflösen des namespaces, man muss es eigentlich nie komplett von Hand schreiben.
Egal wie ich es referenziere
Es gibt mehrere Wege?
Das Tag "HierarchicalItemView" ist im XML-Namespace "clr-namespace:Namespace" nicht vorhanden.
Du hast ein namespace namens "Namespace"?
Das Assembly ist das Projekt, ich kann wohl kaum eine Referenz auf das eigene Projekt hinzu fügen. Daher ist es keine externe DLL (mit unterschiedlich meine ich, ob mit assembly oder ohne geschrieben).
Und natürlich habe ich kein Namespace namens Namespace. Das war als Platzhalter gedacht. Zu den anderen Punkte, ja diese Punkte sind mir auch als erstes eingefallen. Kann ich also komplett abhaken.
Gruß dat Tala
Wenn die Klasse im selben Projekt ist, dann braucht man ";assembly" nicht angeben, dann wäre es (glaub ich) sogar falsch es zu tun, hab da was dunkel in erinnerung.
Du schreibst was es im Laufenden Betrieb geht, passiert etwas im ctor der HierarchicalItemView Klasse? Der Designer durchläuft den kompletten initialisierungscode beim aufbau der View.
Es geht darum, das die Controls im laufenden Betrieb funktionieren, aber der VS Designer und Expr. Blend diese Controls während der Designzeit nicht anzeigen wollen, sie geben die o.a. Meldung aus.
Was soll ein ctor sein?
Gruß dat Tala
Konstruktor (ctor ist der Snippet zum erstellen ^^)
Im Konstruktor lade ich nur solche Dinge wie
InitializeComponent
AddHandler
Also keine Visuellen Dinge.
Witzigerweise funktioniert aber auch machmal der Designer ganz normal, ohne das ich etwas geändert habe. Das ist echt frustierend.
Gruß dat Tala
Also der Fehler wird auftreten wenn er das Control nicht erstellen kann - warum das wissen nur die Götter ^^
Brauchst du diesen Designer denn unbedingt? Viele WPF Entwickler haben nur noch die Full Xaml View und ignorieren den Designer völlig, so auch ich.
Hallo!
Schau doch mal beim Starten des Programms in der Programm-Ausgabe nach, ob da WPF-Fehler angezeigt werden. Evtl. werden diese im laufenden betrieb irgendwie abgefangen oder ignoriert, und nur der Designer stellt sich da zickig an. Kenne zwar 2010 nicht (arbeite noch mit 2008), aber benutze eigentlich auch nur die Full XAML View, weil der Designer zumindest in 2008 grottenschlecht ist, gerade bei komplexeren Styles oder Layouts.
Nobody is perfect. I'm sad, i'm not nobody 🙁