Lokad Shared Libraries
Lokad Shared Libraries is a set of helper assemblies for .NET 3.5 and Silverlight 2.0. They are being developed as part of the Open Source effort by Lokad and are distributed under the new BSD license.
You can:
- Go back to the Lokad Shared Libraries Homepage
- Download latest release.
- Subscribe to news about this project to be notified about the latest changes.
- Check out the Community for Lokad Shared Libraries
- Read further for more details.
Lokad.Shared
Lokad.Shared.dll hosts various Application Blocks, helper classes and generic interfaces.
Application Blocks:
Helper classes:
- Enforce - add and enforce design contracts in your code.
- Tuples - simplify variable composition, complex equality checks and hashing algorithms.
- SystemUtil - write .NET code with testable sleep and time calls.
- Extensions for ReaderWriterLockSlim - take .NET 3.5 locks properly and with less lines of code.
- Express and Reflect - strongly-typed reflection that could even get you the name of the variable or argument.
- C# Maybe Monad.
Lokad.Testing
Lokad.Testing.dll hosts MockContainer to simplify unit testing of complex scenarios:
- Testing MVC Controllers with Mock Container
- Testing MVC Elements and Interactions with Mock Container
Lokad.Stack
Lokad.Stack.dll provides simplified and unified access to 3rd party libraries leveraged by Lokad. It includes and integrates with log4net and Autofac.
Lokad.Quality
This library leverages Mono.Cecil to make it easier to define rules enforcing design rules and keeping high code quality. For example, it makes it really easy to answer questions like:
- How to Count Methods With NotImplementedException?
- How to ensure that classes marked with ImmutableAttribute are Immutable indeed?
- How to Find Extension Methods Targeting Object?
- How to Change Namespace of .NET Assembly?
Status Updates
- 06 February 2009 - Status and Roadmap.
- 17 July 2009 - Release 1.5.
References
- Community - ask questions and get answers!
- Release packages (just grab the latest)
- Online Documentation
- Public Integration Server
- Issue Tracker
- Source Code:
Building
In order to build the libraries you must have .NET 3.5 installed on your machine. Then you simply check out the Shared folder (there is no need to pull the whole trunk, since sub solutions are atomic) and execute in it:
go /t:Rebuild
In order to run the whole build, unit testing and reporting routine (the way it is done on the server), just execute in the folder:
go /t:Integrate
Core library (Lokad.Shared) can be compiled and tested under Silverlight 2.0. To get the packages you need to execute:
go-s /t:Rebuild
Testing could be executed as well:
go-s /t:integrate
Caveat
Libraries could be used in either .NET 2.0 or .NET 3.5. But you still need the new compiler (VS 2008) in order to get the best development experience.