This is to announce PostSharp 2.0 CTP 4, available for download today. As most our efforts this month have gone to release the company and the new web site, there is no large increment in this build. However, there are two features that could not wait any more:

  1. No more time bomb. All previous releases were hard-coded to expire at a fixed date. This new CTP includes the final licensing system: after a 45-days evaluation period, then you have to choose between the Community Edition and the Professional Edition (and in both case enter the license key). There’s currently no way to get a Community Edition license from the web site; we’ll address that during the next weeks.
  2. Support for .NET 4.0 RC and Visual Studio 2010 RC instead of beta 2. Also, the current version should survive better an upgrade to .NET 4.0 RTM unless they break something.

Note that the licensing system itself is beta, so to know which features are enabled/disabled, please refer to our comparison sheet and report any difference with the implementation.

The next milestone for us is to complete online processes (acquisition of commercial and community licenses). Then the rush will be over, and I’ll be able to prepare a RC with rest, calm and serenity :).

Happy PostSharping!


Comments (14) -

Sean Kearon
Sean Kearon
2/27/2010 1:34:42 PM #


Exciting stuff indeed!  Just to be clear about the licensing...will the licence cause the distributed runtimes to expire at does it apply only to the build?



Gael Fraiteur
Gael Fraiteur
2/27/2010 2:46:50 PM #

The distributed runtimes never expire. What could happen is that your runtimes will have a watermark when built with an evaluation copy of PostSharp (since you're not supposed to use the evaluation license to build production software), but this is not implemented yet.

Erdem Sahin
Erdem Sahin
3/2/2010 9:54:50 AM #

got a bad licence failed at production....

please act after thinging postsharper...I got to delete the staff.

175 euro is so much and it does not work with is most of my work.

Erdem Sahin
Erdem Sahin
3/2/2010 9:57:05 AM #

also my build times had increased.

i think think there is so much way to go at AOP.

it is so early.

Gael Fraiteur
Gael Fraiteur
3/2/2010 10:25:34 AM #


By using PostSharp 2.0 in production, you violated the evaluation license agreement.

Support of ASP.NET Web Sites is indeed painful; I would recommend everyone to think twice before using PostSharp in this scenario. What is more, the license (even the pro one) does not allow for deploying PostSharp on web servers.

So maybe PostSharp is just not for you. No bad. No shoe fit all sizes.

3/3/2010 5:27:21 PM #

Why does the license not allow deployment on a web server (and what constitutes a web server)? That seems kinda odd. Will this restriction stay and what is the reason not to mix PostSharp with ASP.NET?

Gael Fraiteur
Gael Fraiteur
3/3/2010 5:42:33 PM #

If you want compile your web site on your dev machine (and PostSharp is a part of the compilation), and deploy the compiled web site, no problem. That's the ideal case.

If you run your web site for your own company, you can theoretically, in best cases, consider that your web server is a Build Server (as defined in the license agreement as a "a central computer device that is a part of Licensee's local area network and that runs the Software in an unattended manner").

Now, if you deploy a web site outside your LAN, and this web site requires PostSharp to compile, then you need to redistribute PostSharp compile-time components, and this is not allowed by standard license agreements.

Both technically and license-wide, my recommendation is: use PostSharp only on dev machines or build servers, but do not use it in a way that you need to deploy it on your web server. The configuration will be fragile, it will take ages to compile your app, and chances are great that you are breaking the license agreement.

Sean Kearon
Sean Kearon
3/3/2010 6:53:51 PM #

So, basically it is okay if we are just distributingPostSharp.dll/PostSharp.Public.dll and PostSharp.Laos.dll?

Gael Fraiteur
Gael Fraiteur
3/3/2010 7:04:29 PM #

Exactly, Sean. Otherwise you're going into both license and technical issues.

3/4/2010 1:53:46 AM #

Okay, that makes sense. Thanks for clearing that up.

Amar Nath Satrawala
Amar Nath Satrawala
4/22/2010 1:45:31 PM #

When do you plan to have the final release?

Gael Fraiteur
Gael Fraiteur
4/22/2010 1:55:41 PM #

The current plan is to publish the final, feature-complete CTP on May 1st, then go ahead with RC and RTM. The release would be in end June - early July according to user feedback.

Amar Nath Satrawala
Amar Nath Satrawala
4/23/2010 2:43:05 PM #

Trying to move to 2.0 from 1.5

I am getting the following error.
I am using VS2005.
Enabled PS at Project level.

Error  2677  Unhandled exception (, 32 bit, CLR 2.0, Release): PostSharp.CodeModel.BindingException: Cannot find a method named 'Set' with signature '(int32, int32, uint32) : void' in scope 'System.Array'  (module = 'CommonLanguageRuntimeLibrary').
   at PostSharp.CodeModel.Collections.MethodDefDeclarationCollection.GetMethod(String name, IMethodSignature signature, BindingOptions bindingOptions)
   at PostSharp.CodeModel.MethodRefDeclaration.GetMethodDefinition(BindingOptions bindingOptions)
   at PostSharp.CodeModel.MethodRefDeclaration.GetMethodDefinition()
   at PostSharp.CodeModel.MethodRefDeclaration.get_IsVirtual()
   at ^2/6Dm7OL/bOi.^f3TGHnx2(MetadataDeclaration _0, MethodDefDeclaration _1, IDependencyTransformationInstance[] _2, MethodSemantics _3)
   at ^2/6Dm7OL/bOi.^HvVDHXOj(MetadataDeclaration _0, IDependencyTransformationInstance[] _1, PipelineTransversalState _2, MethodSemantics _3)
   at PostSharp.AspectInfrastructure.AspectInfrastructureTask.^jwku0geZ(MetadataDeclaration _0, PipelineTransversalState _1, MethodSemantics _2, Boolean _3)
   at PostSharp.AspectInfrastructure.AspectInfrastructureTask.^KzeTZ0pV(MetadataDeclaration _0)
   at PostSharp.AspectInfrastructure.TransformationInstanceCollection.^d+wOzSPF(MetadataDeclaration _0, Func`2 _1, Set`1 _2)
   at PostSharp.AspectInfrastructure.TransformationInstanceCollection.^+g+TCqVg(TypeDefDeclaration _0, Func`2 _1, Set`1 _2)
   at PostSharp.AspectInfrastructure.TransformationInstanceCollection.^fJqG(Func`2 _0)
   at PostSharp.AspectInfrastructure.AspectInfrastructureTask.Execute()
   at PostSharp.Extensibility.Project.ExecutePhase(String phase)
   at PostSharp.Extensibility.Project.Execute()
   at PostSharp.Hosting.PostSharpObject.ExecuteProjects()
   at PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)  C:\Extensions\SumT-v820SP3-Extensions\corelib\Core\POSTSHARP  Core

Gael Fraiteur
Gael Fraiteur
4/23/2010 2:57:10 PM #

Could you please use the forum for issues?

Pingbacks and trackbacks (3)+

Comments are closed