MicroContainerFramework is a dependency injection container for .NET Micro Framework
.NET Micro Framework
is a version of .NET targeting microcontrollers such as ARM-9. Because such devices have a very limited memory, .NET MF is a small subset of original framework. One of the missing funtionalities is dynamic compilation. On the other hand, because of limited computational power, .NET MF applications should be optimized for performance which means there should be no place, for example, for relective invocations.
MicroContainerFramework deals with llimitations of .NET MF and devices it targets by wiring up the container during build process. It can be done because container is configured in code. This code is loaded and executed during PostSharp build process producing list of type mappings. This list is validated for abmbiguity and completeness, which means that resolution errors are reported during compilation
. Next, methods which build mapped types are generated and injected to (also) generated container class. As last step, the container configuration method is replaced witch simple code constructing generated container class instance.
Here are some MicroContainerFramework facts:
- Uses PostSharp to inject wire up code at compile-time
- Doesn't use reflection at run-time
- Introduces no performance penalties when obtaining instances of container-managed types
For details, please vistit following subpages:
My other projects on CodePlex:
- NetMX - an application monitoring and management framework, a JMX port to .NET
- PostSharp4ViewState - a PostSharp plugin for managing View- and ControlState