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