Bri*_*art 7 c# wpf xaml user-controls winforms
我有一个WPF应用程序,它使用我使用C++/CLI创建的Winforms用户控件.当我的应用程序为我的主窗口解析XAML时,它会抛出异常.这些信息似乎略有缩略,但它说:
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.
Run Code Online (Sandbox Code Playgroud)
我在XAML中注释掉了我的Winforms控件,一切都很好.我想也许我的控件的构造函数做了一些坏事,所以我在其中放了一个断点,但是当我开始运行应用程序时,断点似乎没有启用,并且从未被命中,我理解为DLL包含该行未加载.当DLL中的类型的对象被实例化时,最有可能导致抛出异常 - 无法找到对象的构造函数的主体.
我过去在一个不同的项目上成功完成了这个,所以我从该应用程序中引入了一个不同的WinForms用户控件,并在XAML中实例化,并且一切正常.
所以这是这个DLL中的东西.我在我的WPF C#app中引用了DLL,当我在对象浏览器中加载DLL时,所有必需的类和命名空间都显示正常.该应用程序编译正常,解析XAML时问题就出现了.有谁见过这样的东西?关于可能导致这种情况的任何想法?调试的想法呢?谢谢!
<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>
Run Code Online (Sandbox Code Playgroud)
EFr*_*ank 10
我遇到过类似的问题(但没有完全相同的错误信息).似乎WPF无法实例化您的Winforms用户控件.
挑战在于找出原因.以下是我可以尝试的建议: