The OpenNETCF.IoC Framework it is a public-domain-licensed (you can't get any more free and unencumbered than that) framework written in C# (framework version 3.5) that provides both inversion of control and dependency injection for applications running on any or all of the following platforms:
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).
The OpenNETCF IoC Library is available here.
The OpenNETCF.ORM library is a lightweight object-relational mapping framework designed for use with the .NET Compact Framework, the full .NET Framework or Mono for Android. The framework is extensible to allow any type of backing store. Initial implementations using SQL Server Compact and SQLite are provided.
The OpenNETCF.ORM library is available here.
The MTConnect Managed SDK provides Agent, Adapter and Client object models to facilitate both exposing MTConnect data from your machine tools as well as consuming data published by remote MTConnect Agents.
The MTConnect Managed SDK is available here.
The OpenNETCF VirtualAgent, at its core, is a cross-platform implementation of an MTConnect Agent capable of running on any platform that can execute code meeting the Common Language Interface (CLI) such as C# or VB.NET.
The OpenNETCF VirtualAgent is available here.