ich möchte aus verschiedenen Gründen die Dateinamen meiner Assemblies mit Versionsnummern versehen, z.B. My.Controls.v1.2.dll. Dies ist soweit kein Problem. Allerdings ist mir aufgefallen, das referenzierende Projekte dann im XAML ebenfalls die Version angeben müssen, was natürlich zu Mehraufwand nach Updates führt.
Beispiel:
xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary oder xmlns:MyWPF="clr-namespace:My.Controls;assembly=My.Controls.v1.2"
Wenn ich mir hingegen die Controls von Infragistics angucke, dann wird der Namespace ohne Nennung der Assembly angegeben
Reicht m.E. nach auch, denn das Projekt selbst hat ja sowieso einen physischen Verweis auf die Assembly mit der gewünschten Versionsnummer (sollten mehrere nebeneinander existieren). Die Frage meinerseits ist nun, wie man diesen Effekt nachahmen kann - sprich: Referenzieren ohne den Dateinamen der Assembly mit aufzunehmen?
Vorne die URL die man nehmen möchte (diese muss nicht existieren) und hinten den Namespace der darunter erreichbar sein soll. Interessanterweise scheint sich die Assembly dann "wie von Geisterhand" zu finden (gut, wir haben ja einen Verweis drauf, das ist mir schon klar). Allerdings täte mich einmal interessieren, warum hier ein gewisser Extraaufwand betrieben werden muss und welchen Vorteil/Sinn es haben könnte, den Namen der Assembly bei der normalen Vorgehensweise im Namespace referenzieren zu müssen.
hach, du bist nicht zufällig auf mein Beispiel gestoßen : ) http://www.biggle.de/blog/xaml-namespace-ala-microsoft-schema zwar im anderen Kontext, aber mit dem selben Ergebnis
Hat man nur ein Namespace und Assembly bringt das Attribut kaum was, wenn aber wie z.B. bei Control Suites mehrere Assemblies oder sogar Namespaces unter einem Xml-Namespace vereinen muss, ist das ein riesen Vorteil. Dafür ist es dann auch im Prinzip gedacht.
Es bringt mir insofern schon etwas, als das ich nicht x Usercontrols abändern muss, wenn ich von Version 0.8 auf 0.9 update.
Allerdings knabber ich noch an ResourceDictionaries, denn in der Source="pack://application..." muss ich doch leider wieder den versionierten Dateinamen nehmen :(
schau mal hier, vielleicht ist dein zweites Szenario dabei: http://blogs.msdn.com/b/wpfsdk/archive/2007/03/22/blogpost-text-creatingasimplecustommarkupextension.aspx
Oh, das sieht genau nach dem aus, was ich gesucht habe. Werde ich gleich morgen früh umgehend ausprobieren. Vielen Dank. Erstklassig. Ich kann's auch nochmal als Frage stellen und Du antwortest drauf :)