Подтвердить что ты не робот

System.Windows.Markup.XamlParseException 'произошло в PresentationFramework.dll?

Я использую WPF на С# в качестве кода ниже

<Window       
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    xmlns:utility="clr-namespace:DVRClientInterface.Utility"
    xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"     
    xmlns:wpftoolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"   
    xmlns:customControl="clr-namespace:DVRClientInterface.CustomControls"    
    x:Class="DVRClientInterface.MainWindow"
    WindowStyle="None" ResizeMode="CanMinimize"
    AllowsTransparency="True"
    WindowState = "Maximized"
    WindowStartupLocation="CenterScreen"    
    StateChanged="Window_StateChanged" 
    KeyUp="Window_KeyUp" 
    KeyDown="Window_KeyDown"    
    Closing="Window_Closing" Loaded="Window_Loaded"
     >
    <!-- WindowState = "Maximized" -->
    <Window.Background>
        <ImageBrush ImageSource="Resources\main_background.png"/>
    </Window.Background>

    <Grid x:Name="MainWindowGrid">
     //My GUI Code here

    </Grid>
</Window>

Когда я запустил приложение, он выкинет следующее исключение

An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'The invocation of the constructor on type 'DVRClientInterface.MainWindow' that matches the specified binding constraints threw an exception.' Line number '9' and line position '5'.

If there is a handler for this exception, the program may be safely continued.

Строка 9 - xmlns:customControl="clr-namespace:DVRClientInterface.CustomControls".

Но я не знаю, почему, до этого XAML все еще работает нормально. Я просто редактирую код в проекте С++, и после этого он всегда бросает это исключение.

Многие темы говорили, что это было вызвано конфигурацией проектов, но я не знаю, где в моем проекте config вызывает это исключение.

Кто-нибудь может предложить мне, как его исправить?

UPDATE: отладка вывода ниже

'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\MysticClient.exe', No native symbols in symbol file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\mscoree.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\msvcr110_clr0400.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\51e2934144ba15628ba5a31be2dae7dc\mscorlib.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\MysticClient.exe', Symbols loaded.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System\e40da7a49f8c3f0108e7c835b342f382\System.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\cd235caf797fb017f140016be88f33b7\WindowsBase.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\cryptsp.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\rsaenh.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\b52bc540630c3aa5de542c382af35c20\PresentationCore.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Presentatio5ae0f00f#\97e6b67983d07a066b68b3ae8be2f53d\PresentationFramework.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xaml\cc4d9093563dadee370788bbc3ecf4fb\System.Xaml.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\DWrite.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\PresentationNative_v0400.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll', Cannot find or open the PDB file.
Step into: Stepping over non-user code 'DVRClientInterface.App.App'
'MysticClient.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Configuration\28586400bcaf94c13a9fd0dff4a1e090\System.Configuration.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe': Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml\9ba07396ae369d010c5c3927a82ef426\System.Xml.ni.dll', Cannot find or open the PDB file.
'MysticClient.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file.
Step into: Stepping over non-user code 'DVRClientInterface.App.InitializeComponent'
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll', Symbols loaded.
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll'
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll', Symbols loaded.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\RpcRtRemote.dll', Cannot find or open the PDB file.
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll'
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll', Symbols loaded.
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\Common.dll', Symbols loaded.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\nsi.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\winnsi.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\msvcr110d.dll', Symbols loaded.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\msvcp110d.dll', Symbols loaded.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\ws2_32.dll', Cannot find or open the PDB file.
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\DVRClientCore.dll', Symbols loaded.
'MysticClient.exe': Loaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\ClientCommunication.dll', Symbols loaded.
First-chance exception at 0x7757b499 in MysticClient.exe: 0xC0000005: Access violation writing location 0x00000014.
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\CPPWrapper.dll'
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\DVRClientCore.dll'
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\ClientCommunication.dll'
'MysticClient.exe': Unloaded 'E:\TIN HOC\Learning\Chuong Tring Dao Tao\Working\Main_Code\SecurityLabCode\DVRClient\Bin\x86\Debug\Common.dll'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\ws2_32.dll'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\msvcp110d.dll'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\msvcr110d.dll'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\winnsi.dll'
'MysticClient.exe': Unloaded 'C:\Windows\SysWOW64\nsi.dll'
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: EEFileLoadException at memory location 0x00a7ab9c.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: Exception at memory location 0x00a7cae4.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
First-chance exception at 0x74e8b9bc in MysticClient.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
'MysticClient.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file.
An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: 'The invocation of the constructor on type 'DVRClientInterface.MainWindow' that matches the specified binding constraints threw an exception.' Line number '9' and line position '5'.
The program '[5664] MysticClient.exe: Native' has exited with code -1 (0xffffffff).
The program '[5664] MysticClient.exe: Managed (v4.0.30319)' has exited with code -1 (0xffffffff).

Большое спасибо!

Т & Т

4b9b3361

Ответ 1

Проблема решена! Я использую Ctrl + Alt + E, чтобы открыть окно Exception, и я проверил флажок throw. Таким образом, отладчик может остановиться точно на коде ошибки.

Ответ 2

Это не проблема с XAML. В сообщении об ошибке говорится, что он пытался создать экземпляр DVRClientInterface.MainWindow, а ваш конструктор сделал исключение.

Вам нужно будет посмотреть свойство "Внутреннее исключение", чтобы определить основную причину. Это может быть буквально все, но должно обеспечить направление.

example of an inner exception shown in Visual Studio

Примером может быть то, что если вы подключаетесь к базе данных в конструкторе для своего окна, и по какой-то причине эта база данных недоступна, внутреннее исключение может быть TimeoutException или SqlException или любое другое исключение по вашему коду базы данных.

Если вы бросаете исключения в статических конструкторах, исключение может быть создано из любого класса, на который ссылается MainWindow. Инициализаторы классов также запускаются, если любые поля MainWindow вызывают метод, который может вызывать.

Ответ 3

ОБНОВЛЕНИЕ: это не решение, но это обходной путь для проблемы, которая может вызвать исключение, представленное в вопросе.

Я решил перейти от конфигурации Release к Debug Configuration.

Ответ 4

У меня было это при создании моего приложения с целью "Все процессоры", когда он ссылался на стороннюю x64-единственную (управляемую) DLL.

Ответ 5

Я потратил целую вечность на то, чтобы разобраться с этим, так что в интересах искателей:

У меня была странная проблема, из-за которой приложение работало в режиме отладки, но после освобождения XamlParseException.

После исправления проблемы x86/x64, описанной Katjoek, проблема осталась.

Проблема заключалась в том, что в учебном пособии CEF было сказано, что необходимо отключить System.Windows.Interactivity от NuGet (даже он думал об этом в разделе ссылок на расширения в .NET), а в результате перехода из NuGet для specific version значение true.

После развертывания другая версия System.Windows.Interactivity упаковывалась другим приложением.

Отказ от использования другой версии DLL вызвал сбой всего приложения с XamlParseException.

Ответ 6

Я решил эту проблему, установил with и высоту в 32 (было 30).

Set witdh and height in 32 (was 30)

Ошибка XAML была здесь:

Err was here