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