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.
