Shared Add-Ins

PostSharp has a large community of users, and some of them have been kind enough to share ready-made aspects or plug-ins for specific .NET libraries. Be sure to check them before you reinvent the wheel!

If the aspect you're looking for is not there, why not developing it and sharing it it with the community?

In this section:

Application Frameworks

MicroContainer

A dependency injection framework for the .NET Micro Framework. What does it have in common with PostSharp? Easy! Since this platform typically runs with very limited resource, performance is of paramount importance. There is definitively no time to resolve dependencies at runtime, and there is anyway no support for dynamic compilation. The solution? Resolve dependencies at compile-time and inject them... using PostSharp! There is not even use of System.Reflection at runtime! read more

PostSharp4EntLib

PostSharp4EntLib combines the benefits of the Enterprise Library Policy Injection and of compile-time weaving by removing the limitations due to the use of remoting proxies. read more

PostSharp4Spring

A very minimalistic integration of PostSharp with the Spring.NET framework. read more

PostSharp4Unity

Mark classes as configurable and start enjoying Unity without the factory method! Old plain constructor still work. read more

ASP.NET

PostSharp4ViewState

A plug-in for PostSharp aimed to automate state management in ASP.NET controls. It enables storing field / properties values of controls just by decorating them with custom attribute. One can also decide if he wants to store value in ViewState or ControlState. read more

Instrumentation

Build to Manage for .Net

BtM.NET instruments .NET applications using the IBM Build to Manage platform. Part of the Eclipse project. read more

Gibraltar

Gibraltar is an end-to-end solution for monitoring .NET software to improve software quality, streamline customer support and enhance user experience. A built-in PostSharp aspect library makes it easy to trace execution, profile performance and track feature usage. Gibraltar also automatically captures a wealth of additional data such as unhandled exceptions, application and assembly versions, and system performance metrics. read more

Log4PostSharp

Encapsulates log4net into a simple custom attribute that generates fine-tuned instructions at MSIL level. read more

SmartInspect

The SmartInspect aspect library for PostSharp helps you instrument your code with SmartInspect log statements. SmartInspect is an advanced .NET, Java and Delphi logging tool for debugging and monitoring software applications. It helps you identify bugs, find solutions to user-reported issues and gives you a precise picture of how your software performs in different environments. read more

Validation/Contracts

Jahnke's DbC

Let you define constraints on parameters and fields, and invariants on objects, using C# expressions nested in a custom attribute. read more

TorchDbC

Provides basic custom attributes (NonNull, NotEmpty, ...) for validation of parameters and a custom attribute implementing the Singleton pattern. read more

ValidationAspects

ValidationAspects provides State and Interception validation on .net Objects, Properties and Method Parameters. Validation can be declared via attributes and/or augmented/replaced programmatically with validation functions or by external configuration at runtime. Supports asp.net MVC, WPF and Silverlight. read more

ValidationFx

ValidationFx is a library designed to automate the process of validation of method's parameters, properties and other data. Is supports .NET 2.0, 3.0, 3.5, and Mono 2.0+. ValidationFx provides full functionality with a minimum of programmer effort. In addition there is plugin to the PostSharp 1.5 compiler which automatically weaves optimized at the MSIL level code of ValidationFx calls. read more

Persistence & Transactions

DataObjects.NET 4.0

DataObjects.Net v4.0 combines comprehensive business logic layer development framework, object-relational mapper (ORM) and a set of persistent storage implementations enabling the same BLL code work everywhere by the same way dramatically reducing the resources you need to develop an application dealing with persistent data. read more

NHibernate Static Proxy

You can now use PostSharp to generate static proxies to NHibernate, the popular O-R mapper. read more

PostSharp4ET

Want to use Microsoft Entity Framework but dislike boiler-plate code? Make PostSharp generate it for you thanks to PostSharp4ET. read more

Software Transactional Memory (NetSTM)

In-memory data structures work in a transactional way like with database tables. Use implicit optimistic locking; truly nested transactions. read more

XPO Automatic Properties

Allows the use of C# automatic properties with the Express Persistent Objects (XPO) ORM from Developer Express read more

Your Contribution

Just as you may have benefited from these contributions (and if not for your projects, at least as examples), there's surely a lot of people who will love reading and using your code. Did you program some original aspect?

Let us know, we'll publish it and help you to promote it.