Visual Studio Tools for Office versioning and compatibility
Visual Studio Tools for Office versioning and compatibility
Abbreviations used in this document
CAS |
Code Access Security |
FX |
.NET Framework |
MAF |
Managed Add-in Framework |
SE |
Second Edition |
VS |
Visual Studio |
VSTO |
Visual Studio Tools for Office |
Overview
VSTO consists of two distinct components with different, but intertwined, shipping patterns, versioning and compatibility concerns. Specifically, we are influenced by all three of the following:
· Office: we aim to provide support for new versions of Office as quickly as possible preferably in advance of, or simultaneously with, each Office release. We distribute our runtime components as a redistributable package through the Microsoft public download site (in addition to chaining into VS for developer use).
· VS: all our design-time components including designers, code generators, build integration and deployment/publishing are hosted inside VS.
· .NET Framework/Common Language Runtime: we aim to allow developers to use new .NET technologies wherever possible, primarily by avoiding any artificial blocks to consumption of new APIs, frameworks or subsets. We also aim to allow developers to target “old” or down-level .NET versions if they so desire through multi-targeting.
To a lesser extent we are also influenced by Windows and release updates from time to time to deal with operating system changes and bugs.
The following three tables describe the range of Office applications covered by the VSTO design time and the compatibility and versioning details of each major release of the VSTO Runtime. Note that design-time support and runtime support provided by VSTO are not in one-to-one correspondence with one another.
That that certain items are internal names of solution types and “bizarre cryptonyms”, for example, and are strictly informal terminology and are in no way to be considered official.
Notes about some terminology
A few terms used in the three tables are explained in detail here:
Design-time support matrix |
“VS version” |
This is the version of VS with which the design-time components shipped; design-time components are always versioned to match VS; the various runtime redistributables will contain a mixture of file and assembly versions since we reship various components from prior runtime versions to support backwards compatibility |
Design-time support matrix
Semiofficial name |
Ship vehicle |
VS version |
Included VSTO Runtime versions |
Office 2003 documents(solution type) |
Office 2003 add-ins(solution type) |
Office 2007 documents(solution type) |
Office 2007 add-ins(solution type) |
VSTO 2003 |
Add-on for VS 2003 |
7.1 |
1.0 |
ExcelWord(v7) |
|||
VSTO 2005 |
VS 2005 |
8.0 |
2.0 |
ExcelWord(v8) |
Outlook(v8) |
||
VSTO 2005 SE |
Add-on for VS 2005 |
8.0 |
2.0 SE |
ExcelOutlookPowerPointProjectVisioWord(v8) |
ExcelInfoPathOutlookPowerPointProjectVisioWord(v8) |
||
VSTO 2008 |
VS 2008 |
9.0 |
2.0 SE Update 23.0 |
ExcelWord(v8) |
ExcelInfoPathOutlookPowerPointProjectVisioWord(v8) |
ExcelWord(v9) |
ExcelInfoPathOutlookPowerPointProjectVisioWord(v9) |
Solution types
Internal name |
Office version |
Description |
Minimum required .NET Framework version |
User-facing assembly names |
Underlying technologies |
Versioning , compatibility and other comments |
v7 |
2003 |
Office templates in VS 2003 add-on |
FX 1.1 |
Microsoft.Office.Tools.CommonMicrosoft.Office.Tools.ExcelMicrosoft.Office.Tools.WordMicrosoft.VisualStudio.Tools.Applications.Runtime |
Fusion binding.NET CAS |
Fusion determines version of user-facing assemblies to run based on assembly manifest versions etc. |
v8 |
2003 |
Office templates in VS 2005Office templates in VS 2005 add-onOffice 2003 templates in VS 2008 |
FX 2.0 |
Microsoft.Office.Tools.CommonMicrosoft.Office.Tools.ExcelMicrosoft.Office.Tools.OutlookMicrosoft.Office.Tools.WordMicrosoft.VisualStudio.Tools.Applications.Runtime |
Fusion binding.NET CAS |
Fusion determines version of user-facing assemblies to run based on assembly manifest versions etc. |
v9 |
2007 |
Office 2007 templates in VS 2008 |
FX 3.5 |
Microsoft.Office.Tools.v9.0Microsoft.Office.Tools.Common.v9.0Microsoft.Office.Tools.Excel.v9.0Microsoft.Office.Tools.Outlook.v9.0Microsoft.Office.Tools.Word.v9.0Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0 |
MAF bindingClickOnce security |
MAF always loads the latest version of any given assembly regardless of assembly manifest versions, thus new versions of user-facing assemblies must always have unique names (hence the “v9.0”-style assembly name decorations) |
Runtime support matrix
Internal name |
Semiofficial name |
Bizarre cryptonym |
Ship vehicle |
Supported solution types |
Target .NET Framework version |
Comment |
1.0 |
VSTO 2003 Runtime |
OTKLoadr |
Office 2003 |
v7 |
FX 1.1 |
Included as integral part of Office since Office 2003 |
2.0 |
VSTO 2005 Runtime |
Whidbey |
VS 2005Download |
v8 |
FX 2.0 |
Improved API support and designers plus Outlook add-ins |
2.0 SE |
VSTO 2005 SE Runtime |
Cypress |
Download |
v8 |
FX 2.0 |
Update to include add-in support for Office 2003/2007 and bug fixes |
2.0 SE Update 1 |
VSTO 2005 SE Runtime |
Cypress |
Download |
FX 2.0 |
Vista compatibility and bug fixes |
|
2.0 SE Update 2 |
VSTO 2005 SE Runtime |
Cypress |
VS 2008Download |
v8 |
FX 2.0 |
Bug fixes |
3.0 |
VSTO 3.0 Runtime |
Orcas |
VS 2008Download |
v9 |
FX 3.5 |
Full support for Office 2007 solutions and ClickOnce deployment |
3.0 SP1 |
VSTO 3.0 SP1 Runtime |
Orcas SP1 |
VS 2008 SP1Download |
v9 |
FX 3.5 |
.NET Framework 3.5 Client Profile update, bug fixes and minor features |
Comments
- Anonymous
February 24, 2009
Some items on VSTO compatibility including my own compatibility matrix : My article on the subject A