Michael Freidgeim
Michael Freidgeim

Reputation: 28491

Is it safe to build a project with PostSharp attributes on machine without PostSharp installed?

I’ve installed PostSharp on my machine, added PostSharp.dll to my dependencies folder and built my aspect attribute, which is works correctly. Now I am going to check-in my changes.

What would happen on build machine or my colleague's computers, when they would get the latest code but wouldn't have installed PostSharp.

Will the attributes just ignored? Or some errors during build or run-time would happen?

Upvotes: 1

Views: 890

Answers (4)

hdoghmen
hdoghmen

Reputation: 3422

You can disable PostSharp for some configurations.

Project > Setting > PostSharp

Choose Yes for Disable PostSharp for this configuration

I responded to similar question here :

Disable Postsharp in debug builds

Upvotes: 0

Michael Freidgeim
Michael Freidgeim

Reputation: 28491

I can confirm that a project with aspect attributes can be compiled without any errors on machine without PostSharp installed.I assume that PostSharp DLLs are added as dependencies.

Of course, there will be no post-build processing and all attributes will be ignored, but not related to PostSharp functionality will work as expected.

Clarification 12 Jan 2013:

Other developers and build server were able to ignore PostSharp when I used  Setup Program for installation (as described in http://doc.sharpcrafters.com/postsharp-2.1/Default.aspx##PostSharp-2.1.chm/html/f7b57aa1-369a-406a-8863-8b6865265a21.htm ) on my machine only.

However when using NuGet installation in packages subfolder of installation (currently recommended by PostSharp author ) all developers are forced to install Starter or trial professional edition

Upvotes: 0

Dustin Davis
Dustin Davis

Reputation: 14585

As of 2.1, the build server must have PostSharp installed as well as any developers who need to build the projects. If you don't then the build will fail and they will probably not behappy with you. PostSharp is part of the build process which is why it's needed on the build server.

You cannot have PostSharp ignored. If the other devs are able to reference PostSharp.dll to satisfy the types and it actually built then they would have invalid output because it doesn't have the aspects applied in the final assemblies.

I recommend installing PostSharp into the source repository (http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/41129237-a5d4-4acf-aef4-c46759ccfb4b.htm) to make it easier on everyone.

Upvotes: 1

Chadit
Chadit

Reputation: 965

If PostSharp is installed on other development machines, you have also to install it on build servers.

See also http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/522bb950-5fdf-4601-b75e-7c60c8b3ae08.htm.

I think it errors out if you try and build it on a build server without it installed, even with the dll added.

Upvotes: 1

Related Questions