I forgot to mention it in the last announcement: support for ASP.NET web sites has been polished and is now fairly easy. If you installed PostSharp on your machine using the installer, enabling it on your ASP.WEB web site project is done in two steps:
- Add references to PostSharp.Public.dll, PostSharp.Laos.dll and PostSharp.AspNet.dll
- Add the following stuff to your web.config:
More details in the user guide.
I am pleased to announce the availability of PostSharp 1.5 RC1. This is a true feature-complete release candidate; it meets the quality standards of a real release.
Upgrade from 1.0 Recommended?
If your project is still in development phase, and will be for the next 2 months, I recommend making the upgrade from 1.0 to 1.5 now. The 1.5 branch has to many respects a higher quality level than the 1.0 branch. The last CTP proved to be pretty stable and only little important bugs were reported. See the list of addressed issues for details.
Aspects on Serializable Objects
Besides bug fixes, this version brings a new extension point (ILaosAwareness) that enable you to make PostSharp Laos aware of other frameworks. Indeed, it was known that PostSharp Laos used to work badly on deserialized objects because the deserializer does not use the standard constructor. This constraint now belongs to the past: you can now use all aspects on DataContract or Serializable classes.
Thanks to this new feature, you can now apply aspects to serializable classes. You need to download and compile the add-in PostSharp.Awareness, which makes PostSharp Laos "aware" of DataContractSerializer and BinaryFormatter. If you have a custom serialization framework, you can make PostSharp Laos aware of it by developing a similar plug-in for your framework. These features (the new extension point and the WCF/BinaryFormatter awareness) were sponsored by a large insurance company. Thanks to them!
The roadmap of the 1.5 branch is clear: wait for reported bugs during 1 month, correct them, and if none of them required non-trivial changes, publish the stable release (otherwise publish a new RC).