Ich habe einige ernsthafte Probleme mit Visual Studio 2010 in letzter Zeit. Es wurde Absturz in einer eigentümlichen Weise, wenn ich bestimmte Arten von XAML-Fehler während der InitializeComponent()
eines Steuerelements/Fensters.
Das Programm bricht und Visual Studio schaltet, wie es eine Ausnahme (weil es ist) und dann stoppt auf halbem Weg Anzeige eines gebrochenen Highlight in meiner XAML-Datei ohne Details zu fangen was ist falsch. Beispiel:
Es gibt keine Pop-Outs oder Details Irgendwo darüber, was falsch ist, nur einen Callstack, der auf meine InitializeComponent()
anrufen.
Jetzt normalerweise würde ich nur einige Versuch und Irrtum tun, um dieses Problem zu beheben, und finden Sie heraus, wo ich durcheinander, aber das eigentliche Problem ist nicht mein Code. Visual Studio wird gerendert völlig nutzlos zu diesem Zeitpunkt. Es meldet, dass meine Anwendung immer noch im Modus "Laufend" ist. Die Schaltflächen Anhalten/Break/Neustart in der Symbolleiste oder in den Menüs bewirken nichts (sondern sind ausgegraut).
Schließen der Anwendung nicht stoppen dieses Verhalten, schließen Visual Studio bekommt es in einer massiven Schleife stecken, wo es schreit mich beschweren jede Datei geöffnet ist nicht in das Debug-Projekt, dann wiederholt diesen Prozess, wenn ich jede geöffnete Datei exausted haben.
Ich muss die Tür mit Gewalt schließen devenv.exe
und nachdem dies 3-4 Mal hintereinander passiert ist, ist es eine Menge verschwendete Zeit (da meine Projekte in der Regel ziemlich groß sind und Studio ziemlich langsam beim Laden sein kann).
Auf den Punkt gebracht
- Hat noch jemand diese Erfahrung gemacht?
- Wie kann ich verhindern, dass sich das Studio sperrt.
- Kann ich zumindest Informationen aus diesem Tier eine andere Art und Weise erhalten, so dass ich meine XAML-Fehler eher als nach 3-4 Versuch-und-Irrtum-Kompilierungen ergeben den gleichen Absturz beheben kann?
Für jede Hilfe wären wir dankbar.
Visual Studio 2010 Version: 10.0.30319.1RTM
Bearbeiten & Aktualisieren
FWIW, die meisten Fehler, die dies verursachen, sind XamlParseExceptions
(Ich habe das herausgefunden, nachdem ich herausgefunden habe, was mit meiner XAML falsch war).
Ich glaube, ich muss noch deutlicher werden. Ich suche nicht nach der Lösung für mein Code-Problem, da es sich in der Regel um Tippfehler oder Kleinigkeiten handelt, Ich bin auf der Suche nach einer Lösung für das Problem, dass VStudio infolgedessen völlig durcheinander gerät.
Der besondere Fehler im obigen Bild, der mit 100%iger Sicherheit zu diesem Problem führte, war ein XamlParseException
verursacht durch das Vergessen einer Value
Attribut für einen Daten-Trigger.
Ich habe diesen Teil behoben, aber es sagt mir immer noch nicht, warum mein Studio ein Klumpen kastriertes Programm wird, wenn eine ganz normale Ausnahme beim Parsen des XAML ausgelöst wird.
Code, der dieses Problem verursacht (zumindest bei mir)
Dies ist die Basis-Vorlage WPF-Anwendung, mit den folgenden Window.xaml
Code. Das Problem ist eine fehlende Value="True"
über die <DataTrigger ...>
in der Vorlage. Sie erzeugt eine XamlParseException
und Visual Studio stürzt wie oben beschrieben ab, wenn es debuggt wird.
<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>
Abschließende Anmerkungen
Die folgenden Lösungen hat nicht helfen Sie mir:
- Neustart von Visual Studio
- Neustart
- Neuinstallation von Visual Studio
- Deaktivieren von Add-Ins wie ReSharper und Reflector
Update (viel später) mit Antwort
Ich möchte noch etwas hinzufügen (als Pseudo-Antwort), weil ich später noch mehr Informationen darüber herausgefunden habe, die ich an Leute weitergeben möchte, die diese Frage in Google finden.
Das wahre Problem: XamlParseException wurde in Debug -> Ausnahmen ausgewählt, um zu unterbrechen, wenn es auftritt, da dies während der WPF-Verdrahtung geschieht, kann vstudio es nicht richtig abfangen (normalerweise würde es ein paar Ebenen tiefer fallen und dort behandelt werden, wo vstudio es behandeln könnte).
Schalten Sie es einfach aus und das Leben ist wieder gut.
Ich wollte dies nicht als Antwort setzen, weil die Antwort von mazelo auch richtig war, wenn vstudio als Administrator ausgeführt wird, scheint es in der Lage zu sein, die Ausnahme ordnungsgemäß abzufangen und von dort aus zu debuggen, also wollte ich seinen beantworteten Status nicht wegnehmen, weil seine Lösung funktioniert.