最近,我在 Visual Studio 2010 中遇到了一些严重的问题。当我在控件/窗口的 InitializeComponent()
期间遇到某些类型的 XAML 错误时,它以一种特殊的方式崩溃。
程序中断,visual studio 启动,就像它捕获异常(因为它是),然后中途停止,在我的 XAML 文件中显示损坏的突出显示,没有关于 什么是 错误的详细信息。例子:
没有弹出信息,也没有 Anywhere 关于错误的详细信息,只有一个指向我的 InitializeComponent()
调用的调用堆栈。
现在通常我只是做一些试验和错误来解决这个问题,并找出我搞砸的地方,但真正的问题不是我的代码。 Visual Studio 在这一点上完全没有用。它报告我的应用程序仍处于“运行”模式。工具栏或菜单中的停止/中断/重新启动按钮不执行任何操作(但呈灰色)。
关闭应用程序并不会停止这种行为,关闭 Visual Studio 会使其陷入一个巨大的循环中,它对我大喊大叫,提示每个打开的文件都不在调试项目中,然后在我用尽每个打开的文件时重复此过程。
我必须强制关闭 devenv.exe
,在这种情况连续发生 3-4 次之后,浪费了很多时间(因为我的项目通常很大,工作室可能会很慢@加载)。
重点
任何和所有帮助将不胜感激。
Visual Studio 2010 版本:
10.0.30319.1RTM
编辑和更新
FWIW,主要是导致这种情况的错误是
XamlParseExceptions
(我在发现 XAML 有什么问题后发现了这一点)。我想我需要更清楚一点,我不是在寻找我的代码问题的解决方案,因为这些通常是错别字/小东西, 我正在寻找 VStudio 结果被搞砸的解决方案。
上图中 100% 肯定导致的特定错误是由于忘记了数据触发器上的
XamlParseException
属性而导致的 Value
。我已经修复了那个部分,但它仍然没有告诉我为什么当解析 XAML 时抛出一个完全正常的异常时,我的工作室变成了一堆被阉割的程序。
会导致此问题的代码(至少对我而言)
这是基本模板 WPF 应用程序,具有以下
Window.xaml
代码。问题是模板中的 Value="True"
上缺少 <DataTrigger ...>
。调试时,它会生成 XamlParseException
和 Visual Studio Crashes,如上所述。<Window x:Class="XamlParseExplosion.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<DataTemplate x:Key="BankListItemTemplate">
<Border x:Name="ItemBorder" Width="250" Margin="1" BorderBrush="Blue" BorderThickness="5,0,0,0">
<Grid>
<Label Content="{Binding Name}" />
</Grid>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsDirty}">
<Setter TargetName="ItemBorder" Property="BorderBrush" Value="Red" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</Window.Resources>
<Grid>
<ListView ItemTemplate="{StaticResource BankListItemTemplate}" />
</Grid>
</Window>
最后说明
以下解决方案 没有 帮助我:
更新(稍后)带答案
我想对此进行补充(作为伪答案),因为我后来发现了更多关于此的信息,我想将这些信息传递给在 google 中找到此问题的人。
真正的问题: XamlParseException 在 Debug -> Exceptions to break 中被选中它)。
只需将其关闭,生活就会再次美好。
我不想把它作为答案,因为 mazelo 提供的答案也是正确的,当 vstudio 以管理员身份运行时,它似乎能够正确捕获异常并从那里进行调试,所以我不想带走他的回答状态,因为他的解决方案确实有效。
最佳答案
我有一个类似的问题。几个小时后,我有了以管理员身份启动 Visual Studio 的想法。解决了问题,但仍然不知道为什么。
关于.net - 在初始化中遇到 XAML 错误时 Visual Studio 软崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4596642/