Plain speak on VSTA add-in versioning and compatibility

Recent discussions have helped me clarify this confusing topic of versioning and compatibility.  Maybe this will help you too.

 

VSTA add-ins assemblies are created by building a VSTA add-in project.  Add-in assemblies and add-in projects are seperate, but related entities. 

 

1)      VSTA Project backwards compatibility – i.e. add-in projects created in older versions of VSTA will open in future version of the VSTA.

§         Supported

  

2)      VSTA Project forwards compatibility – i.e. add-in projects created in newer version of VSTA will open in older versions of the VSTA.

§         Not supported

3)      Round-trip compatibility of an project – i.e., a project can open in any version of a VSTA, older or newer.

§            Not supported

 

 

4)      Binary backwards compatibility of add-in assembly – i.e. add-ins created in older version of VSTA-enabled application can still run without recompilation in future versions of the VSTA-enabled application.

§         Supported

 

5)      Source level, backwards compatibility of add-in assembly (whenever binary compatibility is not required or not an option) – i.e. add-ins created in an older version of VSTA-enabled application must be recompiled to run in a newer version, but no source code needs to change.

§         Supported

 

6)      Binary forwards compatibility where an add-in assembly created in a newer version of VSTA-enabled application can still run against an older version of the app without recompilation, provided that its code logic is aware of the older app’s functional limitations.

§         Supported 

7)      Round-trip compatibility of an add-in – i.e., an add-in assembly can run in any version of a VSTA-enabled application, older or newer.

§         Supported

 

 


Posted Mar 20 2009, 11:47 AM by Gary
Copyright Summit Software Company, 2008. All rights reserved.