我有一個WPF應用程序,它利用我使用C++/CLI創建的Winforms用戶控件。當我的應用程序去解析我的主窗口的XAML時,它會拋出一個異常。該信息似乎有點縮寫,但它說:WPF引發異常解析包含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.
我註釋掉了我在XAML中的Winforms控件,一切正常加載。我想也許我的控件的構造函數做的不好,所以我在其中放置了一個斷點,但是當我開始運行該應用程序時,斷點似乎未被啓用,並且從未命中,我的理解是指該DLL包含該行未加載。當DLL中的某個類型的對象被實例化時,這很可能會導致異常被拋出 - 無法找到該對象構造函數的主體。
我在過去成功完成了一個不同的項目,所以我從該應用程序中提取了不同的WinForms用戶控件,並在XAML中實例化了它,並且所有工作都正常。
所以這是在這個DLL中的東西。我在我的WPF C#應用程序中引用了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>
問題,#1應該啓用或不?我有同樣的錯誤,它沒有啓用,我應該啓用它嗎? – 2012-11-04 23:49:41