Our never-ending mission to spread the word about using PostSharp to produce cleaner code finds Gael and I in the good ole U.S. of A. for a week of presentations at user groups and businesses in Ohio and Michigan.

Joe Kunk first contacted us about the idea earlier this year and, together with the undying help of David Giard, we were able to build a tour that combines 4 user groups, 3 businesses, and 1 university over a 5 day stretch of interstate travel.

We sprinkled-in some customer visits for good measure, and added an extended layover at TechEd Europe on the way back to Prague and voilà: the perfect summer tour.

Gael has two presentations prepared for the tour:

  • Multithreading Beyond the Lock Keyword.” Dusting-off low-level synchronization primitives, Gael shows how to design programs that make better use of multiple cores. Because playing directly with low-level primitives can be overly complex, you’ll discover how large-scale multi-core software can be simplified using design patterns and how some these patterns can be ultimately simplified using aspect-oriented programming.
  • Intro to Aspect-Oriented Programming (AOP) with PostSharp.” Gael speaks about the problem with conventional programming, gives a gentle introduction to AOP with PostSharp, demonstrates how it works and why you should use it to eliminate scattered, tangled and coupled code from your codebases.

We’re excited to connect with user group leaders, members, and area businesses in Cleveland, Toledo, Detroit and Lansing. We look forward to learning about your current projects, the insight you provide about the solutions you’re looking for, and any feedback you can give about how you’re using PostSharp and our new toolkits.

Tour dates and locations include:


JUNE 18 Cleveland WPF User Group
JUNE 19 Oakland University
JUNE 20 Domino’s Pizza HQ
  Great Lakes Area .NET Users Group
JUNE 21 Michigan Health & Hospital Assoc.
  Consumers Energy
  Greater Lansing .NET User Group
JUNE 22 Sogeti
JUNE 26 & 27 TechEd Europe 2012


TechEd Europe promises to be one of the summer highlights, connecting us with new and old friends alike. Many thanks to Sara Faatz and the DevExpress team for their generosity. We’re very excited to get to know you and your team better. To our old friend Brady Gaster , who will be in Amsterdam to support the Azure team and participate in some breakout sessions, our apologies in advance to your liver.

If you find yourself in Ohio or Michigan next week, or attending TechEd Europe 2012 at the end of the month, please don’t hesitate to contact me to arrange a meet-up. Here’s to another wonderful summer!

Happy PostSharping!


p.s. – check out our Community page to find other opportunities to learn about PostSharp this summer.

Red Gate and SharpCrafters are happy to announce that SmartAssembly – an obfuscator that protects your application against reverse-engineering, cracking and modifications – now genuinely supports PostSharp.

The Darkness

Prior to PostSharp 2.0, running an obfuscator on assemblies enhanced by PostSharp would almost certainly cause runtime issues. The reason, as Simon Cooper explains extensively in his blog, is that PostSharp includes textual references to methods, and these references are broken when the obfuscator renames these methods.

The Battle

PostSharp 2.1 attempted to solve this limitation with a feature called “obfuscation awareness”, which emits additional data structures that could be parsed and re-written during or after the obfuscator. We implemented a post-obfuscation utility that fixed the obfuscated assembly – with initial support for the gorilla in the room: Dotfuscator. Quite frankly, we were quite disappointed by this effort, first because we’ve never received the kickback we hoped from Preemptive, then because the high price point of their product turned people away. Additionally, the post-obfuscation step caused additional friction. So, this feature was a semi failure. Up to now.

The Light

We’re thrilled to announce that the good folks at Red Gate have baked support for PostSharp right into SmartAssembly (>=6.6.4). No need for an additional build step, a sweeter price point, and a friendly relationship: we and our customers have many reasons to be satisfied!

Just remember to enable PostSharp obfuscation awareness in each project that requires it:


Happy PostSharping!


We’ve got great news for those of you who have been waiting patiently for a PostSharp online training course to become a reality:

Pluralsight, the online training provider for hardcore developers, announced this week the availability of the PostSharp Fundamentals course authored by senior software developer, trainer, and PostSharp MVP – Donald Belcham.

The course is an introduction to using PostSharp and covers all the fundamentals needed to effectively use it to create basic aspects in your applications. The course includes:

  • Introduction (Why and How to use Aspect-Oriented Programming)
  • Installation (EXE & MSI, NuGet, Source Control, License Management)
  • Out of the Box Aspects (OnMethodBoundaryAspect, OnExceptionAspect, EventInterceptionAspect, etc.)
  • Aspect Lifetime (Compile Time, Serialization & Deserialization, Run Time)
  • Existing Codebases (Approach, Attaching Aspects, Side Effects, Low Hanging Fruit)
  • Deployment (Deployables, Signing Assemblies, Obfuscation)
  • Developer Experience (Debugging, IDE Enhancements)

Many thanks to Aaron Skonnard and his team at Pluralsight for continuing to deliver quality online training from some of today’s leading .NET developers. Also a big congratulations and thanks to our good friend Donald Belcham for his continuing efforts to spread the word about the benefits of using PostSharp for AOP.

Watch Donald’s PostSharp Fundamentals course on Pluralsight >>