Frage

Dieser Code irgendwo in einer Word-Dokument Ebene VSTO Lösung außerhalb von ThisDocument_Startup (Erstellen einer Band-Taste, mit einem Klick-Ereignisse):

int zero = 0;
int divideByZero = 10 / zero;

Starten ohne Debuggen (Strg + F5), Ergebnis:. Exception verschluckt wird, schlägt der Rest des Codes leise

Die Ausnahme wird sichtbar, wenn in ThisDocument_Startup platziert, aber es scheint nirgendwo anders. Microsoft VSTO-Foren und die MSDN-Dokumentation scheinen versuchen zu fühlen ... Fang verwendet werden soll - was für bekannte Unbekannten keine große Sache ist. Was ist mit den unbekannt Unbekannten?

Alle gemeinsamen Wege der Zusammenarbeit mit nicht behandelten Ausnahmen für verwalteten Code zu tun nicht zu funktionieren scheint, vermutlich wegen der VSTO verwalteten Code mit Office COM Interops:

//These don't work
AppDomain.CurrentDomain.UnhandledException ...
System.Windows.Forms.Application.ThreadException ...

Ich habe Beiträge zur Fehlerbehebung bei VSTO Code lesen, die immer zu platzieren versuchen zu führen scheinen ... Catch um praktisch alles!

Gibt es eine bessere Art und Weise bekannt und unbekannt zu handhaben (jetzt unsichtbar und stumm!) Einen Defekt?

War es hilfreich?

Lösung

Eigentlich ist es ganz einfach, setzen Sie die Umgebungsvariable VSTO_SUPPRESSDISPLAYALERTS auf 0, bevor Sie die Office-Anwendung ausgeführt wird, dann wird Office-Ausnahmen angezeigt werden und nicht töten Ihr Add-In während des Starts, wenn es Fragen gibt.

Es ist auch ein nützlicher Powershell-Skript, das für Sie diese Art von Sachen tun und praktisch ist, wenn herauszufinden, wann VSTO nicht auf http://archive.msdn.microsoft.com/vstotroubleshooter Erste Schritte von vstotroubleshooter.ps1 setdbg laufen die Setup die VSTO_SUPPRESSDISPLAYALERTS env Variable für Sie

Andere Tipps

Ich denke, das Problem nur auf Ausnahmen isoliert ist rund um die „Add-in User Interface“ - das ist eine direkte Einstellung hier (Word 2007) gefunden werden passiert:

Word-Optionen> Erweitert> Allgemein> "Show-Add-In-Benutzeroberfläche Fehler"

Ich hatte das gleiche Problem mit einem Application-Level-Add-in in Word.

Wenn Sie die Add-In ausgeführt werden, indem es von Visual Studio mit F5 gestartet, dann werden Sie immer "nicht behandelte durch Benutzercode" get in VS (zB 2008 SP1), es sei denn:

  • deaktivieren Sie das Visual Studio Einstellung "Break, wenn eine Ausnahme .. Benutzer-unhandled ist" für CLR Ausnahmen oder

  • Sie großzügig auf die [System.Diagnostics.DebuggerNonUserCodeAttribute ()] Anmerkung gelten.

Wenn Sie eine dieser getan haben, UnhandledException / Thread zu funktionieren scheint.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top