Visual Studio 2012: VSTO Versionen erklärt

Nachdem wieder einige Zeit ins Land ging, gibt es nun auch wieder eine (fast) neue Version von VSTO. Visual Studio 2012 enthält VSTO 2012 (deren Update hier zu finden ist). Damit kann man Add-Ins und Erweiterungen für Office 2010 und 2013 bauen, je nachdem, welche Office Version installiert ist. Während bei Office 2013 sowohl das .NET Framework 4.0 als auch 4.5 verwendet werden kann, beschränkt sich Visual Studio bei Office 2010 auf .NET 4.0.

image

Mit Visual Studio 2010 kann Office 2013 nicht direkt (also zur Design-Zeit) adressiert werden, allerdings laufen bestehende VSTO Lösungen auch weiterhin unter Office 2013, ohne neu kompiliert werden zu müssen.

Update: Solutions, die mit Visual Studio 2012 gegen Office 2013 gebaut wurden, laufen auch (und zwar mit .NET Framework 4.0 oder 4.5 und VSTO Runtime 4.0 update) unter Office 2007 und 2010! Ohne Downgrade oder Rekompilierung. Die einzige Einschränkung ist das Office Objektmodell. Hier läuft nur, was in der niedrigeren Version auf vorhanden ist. Man sollte sich deshalb entweder auf den kleinsten gemeinsamen Nenner einigen oder zur Laufzeit die Office-Version abfragen und entzprechend reagieren.

Office 2013 legt an der einen oder anderen Stelle ein etwas anderes Verhalten an den Tag. Während Word bzw. Excel 2010 noch mit einem neuen, leeren Dokument startet, zeigt die 2013er Version beim Start die Backstage:

image

Das hat Auswirkungen auf Eventing und RibbonUI. Konnte man im Ribbon_Load Event bisher noch einen bestimmten Tab anspringen, verläuft dieser Aufruf nun ins Leere. Also, einfach die bestehende Lösung mal unter dem neuen Office ausprobieren.

Außerdem: die oben angesprochenen “Office Developer Tools for Visual Studio 2012” enthalten ebenfalls die Unterstützung zum Erzeugen sog. Agaves, der neuen Office Apps, basierend auf HTML5 und Java Script.