---
title: "Return of the Extensibility Application Block"
url: "https://osherove.com/blog/2005/1/6/return-of-the-extensibility-application-block.md"
canonical: "https://osherove.com/blog/2005/1/6/return-of-the-extensibility-application-block.html"
published: "2005-01-06T23:51:00"
updated: "2005-01-06T23:51:00"
tags: [".Net Original"]
author: "Roy Osherove"
description: "A while ago I released two articles about implementing plugins in your .net applications( here and here ). I then went ahead and created a generic piece of code that encapsulates the functionality demonstrated in those…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Return of the Extensibility Application Block

By Roy Osherove January 6, 2005 In [.Net Original](https://osherove.com/blog/category/net-original)

**Historical article** · Originally published January 6, 2005; technical details may be outdated.

A while ago I released two articles about implementing plugins in your .net applications([here](http://msdn.microsoft.com/asp.net/community/authors/royosherove/default.aspx?pull=/library/en-us/dnaspp/html/pluginframework.asp) and [here](http://msdn.microsoft.com/asp.net/community/authors/royosherove/default.aspx?pull=/library/en-us/dnaspp/html/searchforplugins.asp)). I then went ahead and created a generic piece of code that encapsulates the functionality demonstrated in those articles that can be "dropped in" your application to give instant plugin recognition abilities (after small interface modifications). I called it the "[Extensibility Application Block](http://www.gotdotnet.com/community/workspaces/workspace.aspx?id=23ab5ce9-bdaf-4d7f-aa3b-d77cc83e386c)" (I then gave it the acronym of "EAP". Don't ask me why, I have no good answer).

I was sure no one was using it, but I was wrong.

[Chris Frazier](http://www.chrisfrazier.net/blog) used my Extensibility application block  in his most excellent "PostXING" blogging client (which I am using to write this) and [gives a nice review](http://www.chrisfrazier.net/blog/posts/666.aspx) of what he had to do to make plugins work for his application. That's pretty cool!

I also learned from that article that [RSS Bandit](http://www.rssbandit.org/) uses the same search semantics explained in my MSDN article about searching for plugins. That's pretty cool too!

## More in .Net Original

[All posts in .Net Original](https://osherove.com/blog/category/net-original)

- Jan 7, 2005

    ### [Full source for The Regulator released](https://osherove.com/blog/2005/1/7/full-source-for-the-regulator-released.html)

- Jan 7, 2005

    ### [Using Regex to return the first N words in a string](https://osherove.com/blog/2005/1/7/using-regex-to-return-the-first-n-words-in-a-string.html)

- Jan 5, 2005

    ### [A simple question about overloading](https://osherove.com/blog/2005/1/5/a-simple-question-about-overloading.html)

- Dec 31, 2004

    ### [Manage many events easily with EventHandlerList](https://osherove.com/blog/2004/12/31/manage-many-events-easily-with-eventhandlerlist.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
