2012-10-14 7 views
13

Ich habe ein seltsames Problem beim Hinzufügen einer DLL-Referenz. Ich habe eine WPF-Anwendung, und ich versuche, die WPF-MDI-Bibliothek zu verwenden: http://wpfmdi.codeplex.com/Assembly-Referenz nicht in XAML gefunden, aber Code kompiliert, wenn in XAML.CS-Klasse verwiesen

Wie in der Anleitung angegeben (was sehr vage ist), habe ich auf Referenzen in VS2012 rechts geklickt hat, klickte auf Add reference.., klickte auf Browse.. und fügte meine DLL hinzu, die ich heruntergeladen habe.

Als nächstes fügte ich die folgende Zeile in der XAML meines Fensters: xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI" wie in den Anweisungen angegeben.

Wenn jedoch eine <mdi:MdiContainer> in der XAML hinzuzufügen versuchen, werden die folgenden Fehlermeldungen angezeigt:

The type 'mdi:MdiContainer' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.

The name "MdiContainer" does not exist in the namespace "clr-namespace:WPF.MDI;assembly=WPF.MDI".

Das ist mein XAML:

<Window x:Class="QueryBuilder.Table" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI" 
     Height="300" Width="300" WindowStyle="ToolWindow" ResizeMode="NoResize" ShowInTaskbar="False"> 
</Window> 

Diese Das Problem hat mich den ganzen Tag frustriert. Ich habe fast alles Mögliche ausprobiert. Bemerkenswert ist, dass ich die Beispielanwendung von der Website der Bibliothek heruntergeladen habe und sie problemlos ausführen kann. Außerdem habe ich dies zur Klasse xaml.cs meines Projekts hinzugefügt: WPF.MDI.MdiContainer d = new WPF.MDI.MdiContainer(); und es kompiliert überhaupt keine Probleme.

Bitte beachten Sie auch, dass mein ursprüngliches Problem here gestellt wurde, und keiner der Vorschläge funktionierte. Das Problem hat sich jetzt jedoch aufgrund des obigen Absatzes geändert, der darauf hinweist, dass der Code erfolgreich im folgenden Code kompiliert wurde, jedoch nicht in der XAML-Datei.

EDIT: Ich möchte auch hinzufügen, dass ich in der Lage bin, durch den Code der Assembly-Referenz wie unten gezeigt zu durchsuchen.

enter image description here

Antwort

9

ich das Problem selbst schließlich habe gelöst - diese Antwort hier zu verlassen, gehen Incase jemand das gleiche Problem einige Zeit hat. Das Hinzufügen der Lösung selbst zum Referenzpfad der Baugruppe löst das Problem! Es ist eine Schande, dass dies nicht dokumentiert ist ...

EDIT: Um zu klären, was ich getan habe, war die Lösung hinzufügen, anstatt die DLL. Mit anderen Worten, ich habe die MDI-Lösung mit all ihren Klassen hinzugefügt. Dies gilt natürlich auch für DLLs, bei denen der Quellcode ebenfalls verfügbar ist.

+6

Können Sie dies bitte mit einem Beispiel verdeutlichen? Ich bin mir nicht sicher, was du meinst – msnider

+0

Eine Klarstellung hinzugefügt. Ich hoffe, das hilft, denn dieses Problem war extrem frustrierend für mich! –

+0

Ja, aber ich habe nicht die Lösung, aber nur die DLL =/ – Tito

6

Wenn Visual Studio weiterhin klagt und unterstreicht, nachdem Sie alles versucht haben, beenden Sie einfach den Prozess XDesProc.exe mit dem Task-Manager und erstellen Sie die Lösung neu. WPF- und XAML-Unterstützung in Visual Studio ist ein schreckliches Underdone-Stück Scheiße.

+0

Wow. Danke, Mann. Das hat mich verrückt gemacht. – int21h

+0

Das hat mein Problem auch gelöst. –

1

Got sln Datei von http://wpfmdi.codeplex.com/ .Build dieses Projekt und verwendet neue DLL aus Bin, verwendet, dann hat es gut für mich gearbeitet.

Verwandte Themen