StyleCop and StyleCop+ version synchronization

Jan 31, 2012 at 12:09 AM

Just how tightly coupled is StyleCop+ version 1.6 to StyleCop version 4.7.5.0? Will it work on 4.7.6.0?

If the versions are coupled one-to-one, then it would be very helpful if the StyleCop+ version numbers would match the StyleCop version numbers. Then it would be explicit/obvious which versions went together.

(Just a thought!)

Feb 3, 2012 at 1:21 AM

I just tried to install StyleCop+ with StyleCop 4.7.7.0, and StyleCop+'s tab does not appear in the settings dialog. A Wiki page shows how to make it work with an older version of StyleCop, but there is nothing detailing how to make it work with the latest version. ;-(

Coordinator
Feb 5, 2012 at 7:22 PM
MattHeffron wrote:
Just how tightly coupled is StyleCop+ version 1.6 to StyleCop version 4.7.5.0? Will it work on 4.7.6.0?

No, it will not.
StyleCop uses strong-named assemblies, and when one references to it, only one specific version can be used. It means that any StyleCop plugin should be recompiled each time when new StyleCop version appears.

There is an issue on StyleCop site, which could make it a little bit easier (only major API changes will affect the compatibility), but it is not implemented yet.
http://stylecop.codeplex.com/workitem/7156

Best regards,
Oleg Shuruev

Coordinator
Feb 5, 2012 at 7:29 PM
gloder wrote:
I just tried to install StyleCop+ with StyleCop 4.7.7.0, and StyleCop+'s tab does not appear in the settings dialog. A Wiki page shows how to make it work with an older version of StyleCop, but there is nothing detailing how to make it work with the latest version. ;-(

Actually, it can make it work with the latest version. It should be something like

<bindingRedirect oldVersion="4.7.0.0-4.7.99.99" newVersion="4.7.7.0" />

But I really think that all these assembly bindings are about nothing but racking one's brains. So it is always easier to use "natively supported" version.
And I am just going to build one for StyleCop 4.7.7.0 in a day or two.

Best regards,
Oleg Shuruev

Coordinator
Feb 5, 2012 at 7:34 PM
MattHeffron wrote:
If the versions are coupled one-to-one, then it would be very helpful if the StyleCop+ version numbers would match the StyleCop version numbers. Then it would be explicit/obvious which versions went together.

(Just a thought!)

Don't think it will work this way. What if StyleCop releases 4.8.1.2, we make StyleCop+ 4.8.1.2 and then are going to make a new StyleCop+ release with new features? What version should we use? :)

That is why I've decided to leave StyleCop+ with its own versions, but trying to always point "natively supported" StyleCop version in the very first line of release description (like "Built over StyleCop 4.7.5.0").

Best regards,
Oleg Shuruev

Feb 10, 2012 at 1:33 AM
Edited Feb 10, 2012 at 1:33 AM
shuruev wrote:

Actually, it can make it work with the latest version. It should be something like

<bindingRedirect oldVersion="4.7.0.0-4.7.99.99" newVersion="4.7.7.0" 

Thanks for the tip shuruev! That makes sense. For some reason I couldn't understand the instructions in the wiki when I first read it, but with this example, all is clear.

Feb 21, 2012 at 3:30 PM

Is there a new version coming that works with StyleCop 4.7.7.0 or 4.7.9.0?

Coordinator
Feb 23, 2012 at 2:21 PM
Edited Feb 23, 2012 at 2:21 PM

Hi,

Just made StyleCop+ 1.7 natively built over StyleCop 4.7.11.0.

No new features, just rebuilt for the better compatibility.

Best regards,
Oleg Shuruev