More of a note really, but lets (for example) say we've defined a Contract for our Managed Addin Framework (MAF): [AddInContract] public interface ISimpleCalc : IContract { double Add(double x, double y, params double[] theRest); } if we use the PipeLineBuilder to generate the Pipeline for us, we'll find the contact defined in our 'AddInView' and 'HostView' projects as: public interface ISimpleCalc { double Add(double x, double y, double[] theRest); } Which is obviously a problem as we're expecting ......