Do you know the difference between VSTO and VSTA?

Did you already hear about MAF? Check out Andrew’s latest post! Synopsis:

  • VSTO was originally designed to support the building of managed extensions to Office applications.
  • Visual Studio Tools for Applications (VSTA) was branched from VSTO with the aim of providing the same kind of support for all applications, managed or unmanaged.

At the heart of VSTA is the Managed Add-in Framework (MAF). MAF is an architectural framework, with basic implementation in WinFx.

In COM, version-resilience was achieved through late-bound automation interfaces, where all parameters were coerced into VARIANTs. In MAF, a similar model applies, using runtime reflection in place of IDispatch, and using a constrained set of parameter types (simple value types, strings, enums, contracts, serializable structs). A contract is represented by the IContract interface, defined in System.Addin.Contract.dll.

So to boil it down to a nutshell, MAF can be seen as the .NET equivalent of COM.