Version 1.0 Release of IoC Framework along will full-blown sample

It took a long time to get here, but we’ve finally release what I’m calling the version 1.0 (pervious version were 0.9.x) release of the OpenNETCF.IoC Framework.  In case you’ve not been tracking this project, it is a public-domain-licensed (you can’t get any more free and unencumbered than that) framework that provides both inversion of control and dependency injection for .NET Compact Framework applications (it can be used on the desktop as well).  It’s roughly modelled after Microsoft’s SCSF and CAB frameworks, but it’s scaled down and optimized for running on mobile and embedded devices, plus I “fixed” stuff that I think the SCSF got wrong (like having a static, globally available RootWorkItem and the ability to insert IMessageFilters into the application’s message pump).

This framework is in use in a couple of commercial applications already, so it’s been pretty heavily tested and vetted.  I still want to add a few more features as well and go back through it looking for performance optimizations, but it certainly has enough features to be used in applications today.

This release also ships with a full-blown, real-world sample application, not just the typical “Northwind” type of application.  The sample is called WiFiSurvey and it can be used to survey WiFi AP coverage of a site and to monitor associated AP changes as well as network addressability of a device.

WiFiSurvey has a Configuration service, a SQL CE 3.5-backed Data Access Layer, an Infrastructure module and a an application shell all of which are fully decoupled from one another and that are all loaded dynamically using an XML definition file.  The shell makes use of both a DeckWorkspace and a TabWorkspace, showing you not just how to use them, but also how to create your own workspaces if need be.

The WiFiSurvey application has a single source base for all target platforms and has been tested on the following platforms:

  • ARM-based CE 6.0 with a 320×240 (landscape) display.
  • Pocket PC 2003 240×320 (portrait)
  • WinMo 5.0 240×320 (portrait and landscape)

The IoC framework has additionally been tested on x86-based CE 5.0 and CE 6.0 devices.

As a side note, the WiFiSurvey sample application is also a good example of using the OpenNETCF Smart Device Framework for getting wireless information.

3 thoughts on “Version 1.0 Release of IoC Framework along will full-blown sample”

  1. It probably should be run through StyleCop and FxCop – though I don’t always agree with it’s rules (it’ll be a cold day when I remove the prefix from private fields in any of my code).


  2. As a DI framework this is great, although not as feature-full as Ninject. My interest in this framework is as both a SDF user and in particular because I’m looking for an IoC framework. However I am constrained to using CF 2.0 as I am developing for a PPC2003 scanner device which forces us to use CF2.0 for the scanner controls. This library does use only a few 3.5 specific features such as Linq, which can be easily spoofed using LinqBridge, however I see that you are using CreateDelegate for the event plumbing. And herein is my question – do you have any plans to release a CF2.0 specific version?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s