Behind the Scenes: Activation [Pete Sheill]

Let’s discuss the specifics of the construction of the add-in, the isolation boundary and the pipeline in the add-in model – i.e. activation.  I’ll be referring to the discovery and activation as discussed here and the segments of the add-in pipeline as discussed here.  Let’s say you have discovered a single token for an add-in,…

18

More on Logging UnhandledExeptions from Managed Add-Ins [Jesse Kaplan]

Last time we discussed some issues to be aware of when trying to build hosts that are resilient to failures in their add-ins. The central idea was to subscribe to the UnhandledException event on the hosts AppDomain and to use the “sender” parameter to associate the exception to the add-in that caused it. The main limitation…

2

Using AppDomain Isolation to Detect Add-In Failures [Jesse Kaplan]

One of the nice aspects of isolating add-ins in a different AppDomain is that it makes it easier to prevent failures in the Add-In from impacting the host and at the same time improves your ability to detect when a problem has occurred and which piece of code was the culprit. Developers of extensible applications…

5

Automation Add-Ins [Jesse Kaplan]

First off I’d like to apologize for the long pause between posts. We’ve been working heads down on some pretty exciting add-in stuff that we can’t announce just yet and haven’t had as much time as we’d like to spend on this blog. We’re wrapping that work up now though so you should see the stream…

12

Refactoring Work in Orcas March CTP [Jesse Kaplan]

We’ve had a few questions internally and externally from people who were having problems running some of our earlier samples on the March CTP so I wanted to give everyone a heads up on what has changed and how to move forward any sample code you may have downloaded/written against previous CTPs. The biggest change…

3

Building Data Adapters [Jason He]

Introduction to Adapters   If two types (A and B) have to version independently, they cannot have static references between them. Instead an adapter is needed to sits between A and B. It enables them to communicate without a direct reference and thus providing a versioning boundary.   An adapter normally takes one type in…

11

New System.AddIn Features in March’s Orcas CTP [Jesse Kaplan]

Some of you may have noticed already but for those who haven’t I’d like to announce one of the major new System.AddIn features that made it into March’s Orcas CTP. We’ve now made it possible for hosts to activate add-ins in a seperate process with the same ease as in a seperate AppDomain. We’re very…

9

Restrictions on Contracts [Jack Gudenkauf]

The core foundation of the Managed Add-In Framework is a “Contract”.  Contracts are non-versioning interfaces that define the protocol for communicating across the boundary between to the host and the add-in. In order for these contracts to be valuable for versioning they need to follow a set of constraints: at a high level they need…

8

Brief Introduction to our Architecture for Managed Add-Ins [Jesse Kaplan]

One of the key benefits of our new managed add-in model is the architecture our system uses to connect the host to the add-in.  Our system defines something we call the Add-In Communication Pipeline that defines a series of abstractions that allow hosts and add-ins to version independently and be completely unaware of how the…

1

2nd MSDN Magazine Article Hits the Web [Jack Gudenkauf]

The second of two articles we wrote for MSDN magazine was published online today (and available in news stands now): http://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx This article discusses the System AddIn pipeline and we promised to show the utilization of the model to enable compatibility as your Host and Add-In version independently. In this article we’ll first go into…

19