Ich habe eine WPF-Anwendung, die ein Winforms-Benutzersteuerelement verwendet, das ich mit C++/CLI erstellt habe. Wenn meine App das XAML für mein Hauptfenster analysiert, wird eine Ausnahme ausgelöst. Die Information erscheint etwas verkürzt zu werden, aber es sagt:WPF, das eine Ausnahme parst XAML mit einem Winforms-Benutzersteuerelement
A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: is not a valid Win32 application. (Exception from HRESULT: 0x800700C1) Error in markup file 'OsgViewer;component/osgviewerwin.xaml' Line 1 Position 9.
ich fein aus meiner WinForms Kontrolle in der XAML und alles lädt kommentiert. Ich dachte, vielleicht macht der Konstruktor für meine Steuerung etwas Schlechtes, also habe ich einen Haltepunkt darin eingefügt, aber der Haltepunkt scheint nicht aktiviert zu sein, wenn ich die App starte, und wird nie getroffen, was ich unter DLL verstehe Diese Zeile wird nicht geladen. Dies würde höchstwahrscheinlich eine Ausnahme auslösen, wenn ein Objekt eines Typs in der DLL instanziiert wird - der Körper des Konstruktors des Objekts konnte nicht gefunden werden.
Ich habe dies erfolgreich in einem anderen Projekt in der Vergangenheit getan, also habe ich ein anderes WinForms-Benutzersteuerelement aus dieser App gezogen und in XAML instanziiert, und das alles funktioniert gut.
So ist es etwas in dieser DLL. Ich habe einen Verweis auf die DLL in meiner WPF C# -App, und wenn ich die DLL in Object Browser laden, zeigen alle erforderlichen Klassen und Namespaces gut. Die App kompiliert gut, das Problem taucht nur beim Parsen des XAML auf. Hat jemand so etwas gesehen? Irgendwelche Ideen, was das verursachen könnte? Ideen zum Debuggen? Vielen Dank!
<Window x:Class="OsgViewer.OsgViewerWin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:int="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:myns="clr-namespace:MyGlobalNS.MyNS;assembly=MyAssembly"
...
<int:WindowsFormsHost x:Name="m_Host">
<myns:CMyClass x:Name="m_MyClass" />
</int:WindowsFormsHost>
...
</window>
Frage, # 1 sollte aktiviert sein oder nicht ??? Ich habe den gleichen Fehler und es ist nicht aktiviert, sollte ich es aktivieren? –
@ Macrian: Es ist einige Zeit her, seit ich meine Antwort geschrieben habe, aber ich denke, Sie sollten unmanaged Debuggen aktivieren. Auf diese Weise sehen Sie im Debugger mehr Ausgaben, die Ihnen helfen könnten, das Problem zu finden. – EFrank
Ich weiß, es war tatsächlich vier Jahre: P danke, aber für deine Hilfe: D –