7

I need to implement solution with add-ins executed in their AppDomain. I came across MAF, which is - by description - what I needed.

However the documentaion and its CodePlex project seems to be a bit outdated, some pages in docs do not exist for "Current version" of .NET.

I also found posts about gotchas and complexity of MAF.

So I'm now not sure if I should use it or rather do all the work by myself (add-in management, loading/unloading AppDomains, etc).

Any thought and/or experience appreciated

eXavier
  • 4,821
  • 4
  • 35
  • 57

1 Answers1

9

MAF is a supported piece of the .Net framework, but it hasn't received much attention in years.

Pros

  1. Supports out of process/app domain loading of Addins
  2. Supports backward compatibility for AddIns

Cons

  1. Complex (Requires 5 DLLs in the pipeline)
  2. Requires investment in tooling (You need to update/maintain your own copy of the Pipeline generation code)
  3. Hasn't received any updates in functionality since it was released
  4. There is not a lot of information on the web on best practices or issues people have run into

While there are more cons in that list, it does work and mostly does what you expect. My suggestion is to try it out and see how it works. At the end of the day, the consumers of your API are using an interface and you can always swap out the MAF layer in the future and your AddIns wouldn't need to change.

John Koerner
  • 37,428
  • 8
  • 84
  • 134
  • Thanks for your insight. Can you please elaborate more on what you mean by **supported**? Just that it is part of .Net? I'm a bit reluctant to use it (recommend to my customer) as it seems to not be actively maintained (at least the documentation and community content). – eXavier Dec 21 '16 at 12:17
  • When I say supported, I mean that if there is a serious bug/security hole, you can call Microsoft support and will likely get a fix. I understand the reluctance to using it and i would probably hesitate too. One thing I am keeping an eye on is .net core. If it gets ported over there, then it's probably pretty safe to use. – John Koerner Dec 21 '16 at 12:41
  • 3
    in this panel at build'17 https://channel9.msdn.com/Events/Build/2017/B8902 last question (around 55-sh minute) discussed exactly this (if maf will be ported to Core) and the answer is - highly unlickely hence the popularity is very small even in Microsoft – Isantipov Jul 04 '17 at 20:08