Posted
19 days
ago
by
Gael Fraiteur
We have refreshed PostSharp 2.0 CTP with a bunch of bug fixes and, most importantly, support for Visual Studio 2010 Beta 2 and .NET 4.0 Beta 2.
The PostSharp Add-In for Visual Studio currently don't work with Visual Studio 2010, but you
... [More]
should be able to build projects targetting all versions of the .NET Framework.
Note that the pipe server currently does not work with .NET 4.0.
Happy PostSharping!
-gael [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
PostSharp 2.0 CTP1 it out! You can
download it
today.
As you understood from my previous posts, PostSharp 2.0 is no disguised minor
upgrade. PostSharp 2.0 brings major innovations not only to the .NET community,
but also
... [More]
to the aspect-oriented programming (AOP) community in general.
The design objective of PostSharp 2.0 is to
provide a powerful, robust and supportable platform for build-time
aspect-oriented programming for the next 5 years, with high focus on
extensibiliRead More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
Let me finally discuss some changes in product packaging; they will are
important for performance and reliability.
Understanding the Build Performance Issue
Many people complained about PostSharp performance and wondered if the new
... [More]
release would bring some improvement. The short answer is: yes.
The computing cost of PostSharp can be broken down into the following items:
Initialization Time. It takes time to start a CLR
process, load assemblies in the AppDomain, JIT-compRead More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
So you are sold. You started using aspects in your new project. After many
months of development, the project gets larger and larger. You started with
rather simple aspects like tracing, but now your code is fully aspect oriented.
You
... [More]
have Resharped or DevExpress tool to help you navigate your code. But,
still, something is missing: you can't answer the following questions:
How do I know to which code elements my aspect has been applied?
How do I know which aspects have been applRead More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
We in the Microsoft .NET community are lucky: at critical moments, we are a few steps
behind the Java community. So we got C# and .NET after them, but we learned from
their mistakes, and got better language and platform. The same with AOP.
... [More]
AspectJ is widely used
over there, there is
plently of feedback, and PostSharp has been designed accordingly.
One of the questions engineers face when applying aspects to large software
is: how do you ensure aspects don't collide? This was Read More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
I will be present as a speaker at PRIO.Conference 2009 in Munich, Germany, 28th of October 2009. My session is at 17h30. It will be the first presentation of PostSharp 2.0 ever and I will show some concrete aspects useful in GUI
... [More]
applications.
I will be in Munich from the 27th evening to 29th afternoon, so feel free to take a date if you want to meet me there.
Read More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
In my
previous post, I have given a quick overview of some new features of the
aspect weaver.
Equally important to features: runtime performance.
PostSharp 1.5 already did a great job compared to other aspect
... [More]
frameworks.
However, this could still be greatly improved. And this had been done in
PostSharp 2.0.
Take, for instance, a rather simple aspect: a performance counter. Say we
want to increase a counter every time a method is executed. The easiest and most Read More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
Be seated safely before reading on. This kicks ass.
I have already written enough abstract words in previous posts; let's now
introduce PostSharp 2.0 on a real example: the implementation of
NotifyPropertyChanged, one of
... [More]
the most frequently used patterns for all adepts
of MVC designs.
It's not just about implementing the INotifyPropertyChanged interface; it's
also about modifying every property setter. It's deadly simple and deadly
boring. And gets yRead More... [Less]
Posted
about 1 month
ago
by
Gael Fraiteur
Yesterday, C# MVP
Job Skeet blogged about a
way to add generic constraints for enums and delegates. He noticed that,
while the C# compiler forbids such constructions, it is perfectly possibly in MSIL.
And he is fully right
... [More]
with this.
Jon uses a post-build step to add modify generic constraints.
His process: ILDASM, then find-and-replace, then ILASM. That’s possible because
the requirement is pretty easy.
But here he challenged me:
I've looked at
PostSharp andRead More... [Less]
Posted
2 months
ago
by
Gael Fraiteur
Before starting to blog about new features of PostSharp 2.0, it's good to remind the design objectives of this release.
Stated in one sentence: PostSharp is the leading aspect framework for .NET and will remain.
This was already
... [More]
true with PostSharp 1.5. In next version, the distance between PostSharp and other frameworks will be huge. You will judge by yourself in next posts.
Backward compatibilityAs everyone knows, being the leader comes with greater responsibilities. And Read More... [Less]