<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>stylecopplus Wiki Rss Feed</title><link>http://stylecopplus.codeplex.com/wikipage</link><description>stylecopplus Wiki Rss Description</description><item><title>New Comment on "How to Create StyleCop Custom Rule"</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;ANCHOR#C24355</link><description>Hi&amp;#33; i am using C&amp;#35; Visual 2010 Express, however i tried the step on above, the custom rules doesn&amp;#39;t show on the Stylecop V4.7 Setting List, even i changed the XML to embeded. kindly advice is there any other ways to resolve this&amp;#63;</description><author>NickyPhun</author><pubDate>Thu, 12 Jul 2012 04:43:47 GMT</pubDate><guid isPermaLink="false">New Comment on "How to Create StyleCop Custom Rule" 20120712044347A</guid></item><item><title>Updated Wiki: Compatibility Issues</title><link>http://stylecopplus.codeplex.com/wikipage?title=Compatibility Issues&amp;version=28</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Compatibility Issues&lt;/h1&gt;
&lt;h2&gt;Natively Supported Version&lt;/h2&gt;As you may already know, StyleCop is released with strong-named core assemblies.&lt;br /&gt;That is why only one StyleCop version can be natively supported at one time.&lt;br /&gt;&lt;br /&gt;Currently natively supported StyleCop version is &lt;b&gt;4.7.17.0&lt;/b&gt;.&lt;br /&gt;It means if you are using StyleCop &lt;b&gt;4.7.17.0&lt;/b&gt;, StyleCop+ will work as is, without any additional efforts.&lt;br /&gt;&lt;br /&gt;Of course, I am always trying to keep StyleCop+ up to date.&lt;br /&gt;However, it is possible to make StyleCop+ with other StyleCop versions using assembly binding.&lt;br /&gt;But you should understand that it will only work as long as StyleCop API is not changed.&lt;br /&gt;
&lt;h2&gt;Understanding Assembly Binding&lt;/h2&gt;Assembly bindings are special instructions in .NET configuration files which say &amp;quot;Hey, use this version of this assembly instead of that version&amp;quot;.&lt;br /&gt;There are two ways where to define them.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;1. You could define assembly bindings in global .NET configuration file and it will affect the behaviour of all .NET applications on this machine.&lt;/li&gt;&lt;/ul&gt;
As a result, bindings will work for all cases described below, e.g. using StyleCop from Visual Studio, running it as MSBuild task, or just working with Settings Editor.&lt;br /&gt;But you should pay attention that each .NET version has its own configuration file.&lt;br /&gt;For example, Visual Studio 2010 will use one from .NET 4.0, while Settings Editor will use the other from .NET 3.5.&lt;br /&gt;So you could have to update them both.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;2. You could setup assembly binding for the specific application that uses StyleCop.&lt;/li&gt;&lt;/ul&gt;
To do this, you must locate its configuration file (or create it if it&amp;#39;s absent) and make corresponding changes.&lt;br /&gt;
&lt;h2&gt;How to Update Configuration File&lt;/h2&gt;The following table shows most typical examples of where configuration file is located:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt; Use Case &lt;/th&gt;&lt;th&gt; Configuration File &lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235789" alt="MachineConfigIcon.png" title="MachineConfigIcon.png" /&gt; Global .NET 2.0 / 3.0 / 3.5 configuration &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\Machine.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Will setup assembly bindings for all .NET 2.0 / 3.0 / 3.5 applications&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235789" alt="MachineConfigIcon.png" title="MachineConfigIcon.png" /&gt; Global .NET 4.0 configuration &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Will setup assembly bindings for all .NET 4.0 applications&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136593" alt="Vs2008Icon.png" title="Vs2008Icon.png" /&gt; Visual Studio 2008 &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from Visual Studio 2008&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136594" alt="Vs2010Icon.png" title="Vs2010Icon.png" /&gt; Visual Studio 2010 &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from Visual Studio 2010&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136591" alt="MsBuildIcon.png" title="MsBuildIcon.png" /&gt; MSBuild &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from MSBuild task&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;* Please pay attention which MSBuild version you want to use&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235788" alt="SettingsEditorIcon.png" title="SettingsEditorIcon.png" /&gt; Standalone Settings Editor &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\StyleCop 4.5\StyleCopSettingsEditor.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Double-click on Settings.StyleCop file&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;* You might need to create this file manually&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;In order to setup assembly bindings, you should add the following instructions to the configuration file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Attribute &lt;b&gt;&lt;span class="codeInline"&gt;oldVersion&lt;/span&gt;&lt;/b&gt; contains the version being redirected (i.e. StyleCop versions that StyleCop+ is trying to load).&lt;br /&gt;Attribute &lt;b&gt;&lt;span class="codeInline"&gt;newVersion&lt;/span&gt;&lt;/b&gt; describes which version to use instead (i.e. your StyleCop version).&lt;br /&gt;
&lt;h2&gt;Examples&lt;/h2&gt;
&lt;h3&gt;Using StyleCop+ with StyleCop 4.5.12.0 in Visual Studio 2010&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Locate file &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config&lt;/span&gt; and add the following lines:&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
...
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    ...
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        ...
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            ...
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            ...
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        ...
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    ...
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Using StyleCop+ with StyleCop 4.5.11.0 in standalone Settings Editor&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Create file &lt;span class="codeInline"&gt;C:\Program Files\StyleCop 4.5\StyleCopSettingsEditor.exe.config&lt;/span&gt; with the following contents:&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 08 Apr 2012 05:06:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Compatibility Issues 20120408050609A</guid></item><item><title>Updated Wiki: Quick Start Guide</title><link>http://stylecopplus.codeplex.com/wikipage?title=Quick Start Guide&amp;version=18</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Quick Start Guide&lt;/h1&gt;
&lt;h2&gt;Typical Installation&lt;/h2&gt;If you are using the most recent version of StyleCop the installation would be extremely simple.&lt;br /&gt;Just &lt;a href="http://stylecopplus.codeplex.com/releases/"&gt;download&lt;/a&gt; binary file &lt;u&gt;StyleCopPlus.dll&lt;/u&gt; and place it in your StyleCop folder.&lt;br /&gt;&lt;br /&gt;Don&amp;#39;t forget to unblock the file after downloading (right-click then choose Properties).&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235800" alt="UnblockFile.png" title="UnblockFile.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Compatibility Issues&lt;/h2&gt;Currently StyleCop+ natively supports StyleCop version &lt;b&gt;4.7.17.0&lt;/b&gt;.&lt;br /&gt;If you are using other StyleCop version, please read about &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Compatibility%20Issues&amp;referringTitle=Quick%20Start%20Guide"&gt;compatibility issues&lt;/a&gt; to find out how to make StyleCop+ work with it.&lt;br /&gt;
&lt;h2&gt;Editing Settings&lt;/h2&gt;As soon as StyleCop+ is installed correctly, you should see new &amp;quot;StyleCop+&amp;quot; tab appeared in settings dialog.&lt;br /&gt;This tab contains settings page for configuring all StyleCop+ features.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235802" alt="SettingsPage.png" title="SettingsPage.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Need Help?&lt;/h2&gt;In case of StyleCop+ does not work please make sure that you have read about &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Compatibility%20Issues&amp;referringTitle=Quick%20Start%20Guide"&gt;compatibility issues&lt;/a&gt;.&lt;br /&gt;If documentation does not help, feel free to &lt;a href="http://stylecopplus.codeplex.com/discussions/create"&gt;publish a post&lt;/a&gt; with the description of your problem.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 08 Apr 2012 05:05:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Quick Start Guide 20120408050554A</guid></item><item><title>Updated Wiki: Home</title><link>http://stylecopplus.codeplex.com/wikipage?version=60</link><description>&lt;div class="wikidoc"&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=147889" alt="NewRelease.png" title="NewRelease.png" /&gt;&lt;sub&gt;&lt;a href="http://stylecopplus.codeplex.com/releases/view/85693"&gt;StyleCop+ 1.8&lt;/a&gt; has just been released!&lt;/sub&gt;&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;What is StyleCop+?&lt;/h1&gt;StyleCop+ is a plug-in that extends original &lt;a href="http://stylecop.codeplex.com"&gt;StyleCop&lt;/a&gt; features.&lt;br /&gt;It offers you a variety of rules for building C# code style that best suits your needs.&lt;br /&gt;
&lt;h3&gt;Key features:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="#AdvancedNamingRules"&gt;Advanced Naming Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#MoreCustomRules"&gt;More Custom Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ExtendedOriginalRules"&gt;Extended Original Rules &amp;#40;experimental feature&amp;#41;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Please read full &lt;a href="http://stylecopplus.codeplex.com/documentation?referringTitle=Home"&gt;StyleCop&amp;#43; documentation&lt;/a&gt; for more detailed information, such as &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Quick%20Start%20Guide&amp;referringTitle=Home"&gt;quick start guide&lt;/a&gt; or &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Rules%20Reference&amp;referringTitle=Home"&gt;rules reference&lt;/a&gt;.&lt;br /&gt;
&lt;h1&gt;&lt;a name="AdvancedNamingRules"&gt;&lt;/a&gt; Advanced Naming Rules&lt;/h1&gt;StyleCop+ contains rich and flexible naming rules that are intended to completely replace all original Naming Rules (&lt;b&gt;SA13xx&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=193576" alt="AdvancedNamingRules.png" title="AdvancedNamingRules.png" /&gt;&lt;br /&gt;&lt;br /&gt;They allow specifying separate naming rules for each code entity - namespaces, classes, interfaces, methods... etc.&lt;br /&gt;As a result, you can build any style you need, whether it is &amp;quot;&lt;span class="codeInline"&gt;m_field&lt;/span&gt;&amp;quot; style, &amp;quot;&lt;span class="codeInline"&gt;_field&lt;/span&gt;&amp;quot; style, or any other.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Rich variety of entities&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;For example, you can specify separate rules for private event handlers (&lt;span class="codeInline"&gt;buttonStart_Click&lt;/span&gt;) or unit test methods (&lt;span class="codeInline"&gt;Setting_Null_Throws_Exception&lt;/span&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Several naming templates for each entity&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Make your style more flexible or add some exceptions to the basic rules.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Usage of naming macros&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Most popular naming styles are available (&lt;span class="codeInline"&gt;PascalCasing&lt;/span&gt;, &lt;span class="codeInline"&gt;camelCasing&lt;/span&gt;, &lt;span class="codeInline"&gt;ALL_UPPER&lt;/span&gt;... etc.)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Abbreviations support&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Specify the abbreviations you want to use, e.g. &lt;span class="codeInline"&gt;ID&lt;/span&gt; or &lt;span class="codeInline"&gt;OK&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Checking name endings for derived classes&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;For example, you could ensure that all classes derived from &lt;span class="codeInline"&gt;Exception&lt;/span&gt; are named like ...&lt;span class="codeInline"&gt;Exception&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;del&gt;Read more about Advanced Naming Rules &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Advanced%20Naming%20Rules&amp;referringTitle=Home"&gt;in documentation&lt;/a&gt;.&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;br /&gt;
&lt;h1&gt;&lt;a name="MoreCustomRules"&gt;&lt;/a&gt; More Custom Rules&lt;/h1&gt;StyleCop+ offers more custom rules for making your style tougher.&lt;br /&gt;Most of them have flexible settings, configured through user-friendly UI.&lt;br /&gt;And a small example illustrates what this rule is about.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=193577" alt="MoreCustomRules.png" title="MoreCustomRules.png" /&gt;&lt;br /&gt;&lt;br /&gt;Please &lt;a href="http://stylecopplus.codeplex.com/workitem/create"&gt;send new rule proposals&lt;/a&gt;, if your code style needs more checks.&lt;br /&gt;If they are common enough, they will likely be added as soon as possible.&lt;br /&gt;&lt;br /&gt;&lt;del&gt;Read more about More Custom Rules &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=More%20Custom%20Rules&amp;referringTitle=Home"&gt;in documentation&lt;/a&gt;.&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;br /&gt;
&lt;h1&gt;&lt;a name="ExtendedOriginalRules"&gt;&lt;/a&gt; Extended Original Rules (experimental feature)&lt;/h1&gt;StyleCop+ also contains rules that are based on the original ones, but work in a bit diferent way.&lt;br /&gt;They may remove some restrictions, or add more options for customizing original checking behavior.&lt;br /&gt;&lt;br /&gt;For example, original &lt;b&gt;SA1509&lt;/b&gt; rule prohibits using a blank line before opening curly bracket.&lt;br /&gt;But sometime people want to use constructions like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;// some statements&lt;/span&gt;
...

{
    &lt;span style="color:Blue;"&gt;int&lt;/span&gt; a; &lt;span style="color:Green;"&gt;// declaration of local variables required to set value of f1&lt;/span&gt;
    ...
    &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.f1 = ...;
}

{
    &lt;span style="color:Blue;"&gt;int&lt;/span&gt; a; &lt;span style="color:Green;"&gt;// declaration of local variables required to set value of f2&lt;/span&gt;
    ...
    &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.f2 = ...;
}
&lt;/pre&gt;&lt;/div&gt;StyleCop+ has its own rule - &lt;b&gt;SP1509&lt;/b&gt;, which behaves like &lt;b&gt;SA1509&lt;/b&gt;, but doesn&amp;#39;t throw a violation on such &amp;quot;nested code blocks&amp;quot;.&lt;br /&gt;In other cases, &lt;b&gt;SP1509&lt;/b&gt; rule works exactly as original &lt;b&gt;SA1509&lt;/b&gt; rule.&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Note that StyleCop+ doesn&amp;#39;t have its own code which looks like original &lt;b&gt;SA1509&lt;/b&gt; check - it really executes original StyleCop&amp;#39;s &lt;b&gt;SA1509&lt;/b&gt; check, but analyzes the result in its own way.&lt;/i&gt;&lt;/blockquote&gt;&lt;del&gt;Read more about Extended Original Rules &lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Extended%20Original%20Rules&amp;referringTitle=Home"&gt;in documentation&lt;/a&gt;.&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 08 Apr 2012 05:05:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120408050503A</guid></item><item><title>New Comment on "How to Create StyleCop Custom Rule"</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;ANCHOR#C23178</link><description>For now, yes that is true.</description><author>shuruev</author><pubDate>Wed, 04 Apr 2012 05:21:04 GMT</pubDate><guid isPermaLink="false">New Comment on "How to Create StyleCop Custom Rule" 20120404052104A</guid></item><item><title>New Comment on "How to Create StyleCop Custom Rule"</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;ANCHOR#C23164</link><description>Hi &amp;#33; It seems that it works only with .NET 3.5 not 4.0 &amp;#63;</description><author>savirpe</author><pubDate>Tue, 03 Apr 2012 08:47:54 GMT</pubDate><guid isPermaLink="false">New Comment on "How to Create StyleCop Custom Rule" 20120403084754A</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;complete Visual Studio project&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
Create a new Visual Studio class library project targeting .NET 3.5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355519" alt="1.png" title="1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 2. Add references&lt;/h2&gt;
Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355520" alt="2.png" title="2.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 3. Add analyzer class&lt;/h2&gt;
After adding references, create a new class for StyleCop analyzer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355521" alt="3.png" title="3.png" /&gt;&lt;br /&gt;&lt;br /&gt;Analyzer could be understood as an &amp;quot;engine&amp;quot; containing several rules with similar behavior.&lt;br /&gt;There could be several analyzers in one custom rules assembly.&lt;br /&gt;&lt;br /&gt;Put the following code into your analyzer class:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop.CSharp;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; MyCustomRules
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Custom analyzer for demo purposes.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	[SourceAnalyzer(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(CsParser))]
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; MyCustomAnalyzer : SourceAnalyzer
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Extremely simple analyzer for demo purposes.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;override&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; AnalyzeDocument(CodeDocument document)
		{
			CsDocument doc = (CsDocument)document;

			&lt;span style="color:Green;"&gt;// skipping wrong or auto-generated documents&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (doc.RootElement == &lt;span style="color:Blue;"&gt;null&lt;/span&gt; || doc.RootElement.Generated)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check all class entries&lt;/span&gt;
			doc.WalkDocument(CheckClasses);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Checks whether specified element conforms custom rule CR0001.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; CheckClasses(
			CsElement element,
			CsElement parentElement,
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; context)
		{
			&lt;span style="color:Green;"&gt;// if current element is not a class then continue walking&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (element.ElementType != ElementType.Class)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check whether class name contains &amp;quot;a&amp;quot; letter&lt;/span&gt;
			Class classElement = (Class)element;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (classElement.Declaration.Name.Contains(&lt;span style="color:#A31515;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;))
			{
				&lt;span style="color:Green;"&gt;// add violation&lt;/span&gt;
				&lt;span style="color:Green;"&gt;// (note how custom message arguments could be used)&lt;/span&gt;
				AddViolation(
					classElement,
					classElement.Location,
					&lt;span style="color:#A31515;"&gt;&amp;quot;AvoidUsingAInClassNames&amp;quot;&lt;/span&gt;,
					classElement.FriendlyTypeText);
			}

			&lt;span style="color:Green;"&gt;// continue walking in order to find all classes in file&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 4. Add analyzer definition file&lt;/h2&gt;
Each analyzer should be provided with an XML file containing rule definition.&lt;br /&gt;Create a new XML file:
&lt;ul&gt;&lt;li&gt;named exactly as analyzer class&lt;/li&gt;
&lt;li&gt;specify build action as &amp;quot;Embedded Resource&amp;quot;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355523" alt="4.png" title="4.png" /&gt;&lt;br /&gt;&lt;br /&gt;Put the following content into your analyzer definition file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;encoding&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;utf-8&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;My Custom Rule&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		Custom rule for demo purposes.
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AvoidUsingAInClassNames&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;CheckId&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;CR0001&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Do not use &amp;#39;a&amp;#39; letter in {0} names.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Fires when &amp;#39;a&amp;#39; letter is used in class name.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 5. Build and deploy&lt;/h2&gt;
You custom rules are almost ready.&lt;br /&gt;Build the library, and copy output file to the StyleCop installation directory.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355524" alt="5.png" title="5.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 6. Check how it works&lt;/h2&gt;
Exit Visual Studio and run it again.&lt;br /&gt;Now your custom rules should be loaded and could be seen in StyleCop settings editor.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355527" alt="6.png" title="6.png" /&gt;&lt;br /&gt;&lt;br /&gt;You can also make sure that rules are actually executed.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355529" alt="7.png" title="7.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 16:28:39 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318042839P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;complete Visual Studio project&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
Create a new Visual Studio class library project targeting .NET 3.5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355519" alt="1.png" title="1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 2. Add references&lt;/h2&gt;
Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355520" alt="2.png" title="2.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 3. Add analyzer class&lt;/h2&gt;
After adding references, create a new class for StyleCop analyzer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355521" alt="3.png" title="3.png" /&gt;&lt;br /&gt;&lt;br /&gt;Analyzer could be understood as an &amp;quot;engine&amp;quot; containing several rules with similar behavior.&lt;br /&gt;There could be several analyzers in one custom rules assembly.&lt;br /&gt;&lt;br /&gt;Put the following code into your analyzer class:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop.CSharp;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; MyCustomRules
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Custom analyzer for demo purposes.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	[SourceAnalyzer(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(CsParser))]
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; MyCustomAnalyzer : SourceAnalyzer
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Extremely simple analyzer for demo purposes.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;override&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; AnalyzeDocument(CodeDocument document)
		{
			CsDocument doc = (CsDocument)document;

			&lt;span style="color:Green;"&gt;// skipping wrong or auto-generated documents&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (doc.RootElement == &lt;span style="color:Blue;"&gt;null&lt;/span&gt; || doc.RootElement.Generated)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check all class entries&lt;/span&gt;
			doc.WalkDocument(CheckClasses);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Checks whether specified element conforms custom rule CR0001.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; CheckClasses(
			CsElement element,
			CsElement parentElement,
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; context)
		{
			&lt;span style="color:Green;"&gt;// if current element is not a class then continue walking&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (element.ElementType != ElementType.Class)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check whether class name contains &amp;quot;a&amp;quot; letter&lt;/span&gt;
			Class classElement = (Class)element;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (classElement.Declaration.Name.Contains(&lt;span style="color:#A31515;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;))
			{
				&lt;span style="color:Green;"&gt;// add violation&lt;/span&gt;
				&lt;span style="color:Green;"&gt;// (note how custom message arguments could be used)&lt;/span&gt;
				AddViolation(
					classElement,
					classElement.Location,
					&lt;span style="color:#A31515;"&gt;&amp;quot;AvoidUsingAInClassNames&amp;quot;&lt;/span&gt;,
					classElement.FriendlyTypeText);
			}

			&lt;span style="color:Green;"&gt;// continue walking in order to find all classes in file&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 4. Add analyzer definition file&lt;/h2&gt;
Each analyzer should be provided with an XML file containing rule definition.&lt;br /&gt;Create a new XML file:
&lt;ul&gt;&lt;li&gt;named exactly as analyzer class&lt;/li&gt;
&lt;li&gt;specify build action as &amp;quot;Embedded Resource&amp;quot;.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355523" alt="4.png" title="4.png" /&gt;&lt;br /&gt;&lt;br /&gt;Put the following content into your analyzer definition file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;encoding&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;utf-8&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;My Custom Rule&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		Custom rule for demo purposes.
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AvoidUsingAInClassNames&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;CheckId&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;CR0001&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Do not use &amp;#39;a&amp;#39; letter in {0} names.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Fires when &amp;#39;a&amp;#39; letter is used in class name.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 5. Build and deploy&lt;/h2&gt;
You custom rules are almost ready.&lt;br /&gt;Build the library, and copy output file to the StyleCop installation directory.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355524" alt="5.png" title="5.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 6. Check how it works&lt;/h2&gt;
Exit Visual Studio and run it again.&lt;br /&gt;Now your custom rules should be loaded and could be seen in StyleCop settings editor.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355527" alt="6.png" title="6.png" /&gt;&lt;br /&gt;&lt;br /&gt;You can also make sure that rules are actually executed.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355529" alt="7.png" title="7.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 16:27:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318042757P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;complete Visual Studio project&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
Create a new Visual Studio class library project targeting .NET 3.5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355519" alt="1.png" title="1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 2. Add references&lt;/h2&gt;
Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355520" alt="2.png" title="2.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 3. Add analyzer class&lt;/h2&gt;
After adding references, create a new class for StyleCop analyzer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355521" alt="3.png" title="3.png" /&gt;&lt;br /&gt;&lt;br /&gt;Analyzer could be understood as an &amp;quot;engine&amp;quot; containing several rules with similar behavior.&lt;br /&gt;There could be several analyzers in one custom rules assembly.&lt;br /&gt;&lt;br /&gt;Put the following code into your analyzer class:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop.CSharp;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; MyCustomRules
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Custom analyzer for demo purposes.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	[SourceAnalyzer(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(CsParser))]
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; MyCustomAnalyzer : SourceAnalyzer
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Extremely simple analyzer for demo purposes.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;override&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; AnalyzeDocument(CodeDocument document)
		{
			CsDocument doc = (CsDocument)document;

			&lt;span style="color:Green;"&gt;// skipping wrong or auto-generated documents&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (doc.RootElement == &lt;span style="color:Blue;"&gt;null&lt;/span&gt; || doc.RootElement.Generated)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check all class entries&lt;/span&gt;
			doc.WalkDocument(CheckClasses);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Checks whether specified element conforms custom rule CR0001.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; CheckClasses(
			CsElement element,
			CsElement parentElement,
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; context)
		{
			&lt;span style="color:Green;"&gt;// if current element is not a class then continue walking&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (element.ElementType != ElementType.Class)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check whether class name contains &amp;quot;a&amp;quot; letter&lt;/span&gt;
			Class classElement = (Class)element;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (classElement.Declaration.Name.Contains(&lt;span style="color:#A31515;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;))
			{
				&lt;span style="color:Green;"&gt;// add violation&lt;/span&gt;
				&lt;span style="color:Green;"&gt;// (note how custom message arguments could be used)&lt;/span&gt;
				AddViolation(
					classElement,
					classElement.Location,
					&lt;span style="color:#A31515;"&gt;&amp;quot;AvoidUsingAInClassNames&amp;quot;&lt;/span&gt;,
					classElement.FriendlyTypeText);
			}

			&lt;span style="color:Green;"&gt;// continue walking in order to find all classes in file&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 4. Add analyzer definition file&lt;/h2&gt;
Each analyzer should be provided with an XML file containing rule definition.&lt;br /&gt;Create a new XML file:
&lt;ul&gt;&lt;li&gt;named exactly as analyzer class&lt;/li&gt;
&lt;li&gt;specify build action as &amp;quot;Embedded Resource&amp;quot;.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355523" alt="4.png" title="4.png" /&gt;&lt;br /&gt;&lt;br /&gt;Put the following content into your analyzer definition file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;encoding&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;utf-8&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;My Custom Rule&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		Custom rule for demo purposes.
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AvoidUsingAInClassNames&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;CheckId&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;CR0001&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Do not use &amp;#39;a&amp;#39; letter in {0} names.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Context&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Fires when &amp;#39;a&amp;#39; letter is used in class name.&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Description&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rule&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Rules&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;SourceAnalyzer&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Step 5. Build and deploy your rules&lt;/h2&gt;
You custom rules are almost ready. Build the library, and copy output file to the StyleCop installation directory.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355524" alt="5.png" title="5.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 16:22:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318042216P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;complete Visual Studio project&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
Create a new Visual Studio class library project targeting .NET 3.5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355519" alt="1.png" title="1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 2. Add references&lt;/h2&gt;
Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355520" alt="2.png" title="2.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 3. Add analyzer class&lt;/h2&gt;
After adding references, create a new class for StyleCop analyzer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355521" alt="3.png" title="3.png" /&gt;&lt;br /&gt;&lt;br /&gt;Analyzer could be understood as an &amp;quot;engine&amp;quot; containing several rules with similar behavior.&lt;br /&gt;There could be several analyzers in one custom rules assembly.&lt;br /&gt;&lt;br /&gt;Put the following code into your analyzer class:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop.CSharp;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; MyCustomRules
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Custom analyzer for demo purposes.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	[SourceAnalyzer(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(CsParser))]
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; MyCustomAnalyzer : SourceAnalyzer
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Extremely simple analyzer for demo purposes.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;override&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; AnalyzeDocument(CodeDocument document)
		{
			CsDocument doc = (CsDocument)document;

			&lt;span style="color:Green;"&gt;// skipping wrong or auto-generated documents&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (doc.RootElement == &lt;span style="color:Blue;"&gt;null&lt;/span&gt; || doc.RootElement.Generated)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check all class entries&lt;/span&gt;
			doc.WalkDocument(CheckClasses);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Checks whether specified element conforms custom rule CR0001.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; CheckClasses(
			CsElement element,
			CsElement parentElement,
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; context)
		{
			&lt;span style="color:Green;"&gt;// if current element is not a class then continue walking&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (element.ElementType != ElementType.Class)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check whether class name contains &amp;quot;a&amp;quot; letter&lt;/span&gt;
			Class classElement = (Class)element;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (classElement.Declaration.Name.Contains(&lt;span style="color:#A31515;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;))
			{
				&lt;span style="color:Green;"&gt;// add violation&lt;/span&gt;
				&lt;span style="color:Green;"&gt;// (note how custom message arguments could be used)&lt;/span&gt;
				AddViolation(
					classElement,
					classElement.Location,
					&lt;span style="color:#A31515;"&gt;&amp;quot;AvoidUsingAInClassNames&amp;quot;&lt;/span&gt;,
					classElement.FriendlyTypeText);
			}

			&lt;span style="color:Green;"&gt;// continue walking in order to find all classes in file&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 16:12:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318041246P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;complete Visual Studio project&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
Create a new Visual Studio class library project targeting .NET 3.5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355519" alt="1.png" title="1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 2. Add references&lt;/h2&gt;
Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355520" alt="2.png" title="2.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Step 3. Add analyzer class&lt;/h2&gt;
After adding references, create a new class for StyleCop analyzer.&lt;br /&gt;&lt;br /&gt;&lt;span class="unresolved"&gt;Cannot resolve image macro, invalid image name or id.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Analyzer could be understood as an &amp;quot;engine&amp;quot; containing several rules with similar behavior.&lt;br /&gt;There could be several analyzers in one custom rules assembly.&lt;br /&gt;&lt;br /&gt;Put the following code into your analyzer class:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop.CSharp;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; MyCustomRules
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Custom analyzer for demo purposes.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	[SourceAnalyzer(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(CsParser))]
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; MyCustomAnalyzer : SourceAnalyzer
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Extremely simple analyzer for demo purposes.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;override&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; AnalyzeDocument(CodeDocument document)
		{
			CsDocument doc = (CsDocument)document;

			&lt;span style="color:Green;"&gt;// skipping wrong or auto-generated documents&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (doc.RootElement == &lt;span style="color:Blue;"&gt;null&lt;/span&gt; || doc.RootElement.Generated)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check all class entries&lt;/span&gt;
			doc.WalkDocument(CheckClasses);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Checks whether specified element conforms custom rule CR0001.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; CheckClasses(CsElement element, CsElement parentElement, &lt;span style="color:Blue;"&gt;object&lt;/span&gt; context)
		{
			&lt;span style="color:Green;"&gt;// if current element is not a class then continue walking&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (element.ElementType != ElementType.Class)
				&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;

			&lt;span style="color:Green;"&gt;// check whether class name contains &amp;quot;a&amp;quot; letter&lt;/span&gt;
			Class classElement = (Class)element;
			&lt;span style="color:Blue;"&gt;if&lt;/span&gt; (classElement.Declaration.Name.Contains(&lt;span style="color:#A31515;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;))
			{
				&lt;span style="color:Green;"&gt;// add violation&lt;/span&gt;
				&lt;span style="color:Green;"&gt;// (note how custom message arguments could be used)&lt;/span&gt;
				AddViolation(
					classElement,
					classElement.Location,
					&lt;span style="color:#A31515;"&gt;&amp;quot;AvoidUsingAInClassNames&amp;quot;&lt;/span&gt;,
					classElement.FriendlyTypeText);
			}

			&lt;span style="color:Green;"&gt;// continue walking in order to find all classes in file&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;"&gt;true&lt;/span&gt;;
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 16:11:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318041158P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;a href="http://www.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=355518"&gt;MyCustomRules.zip&lt;/a&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
This...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:51:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318035146P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;&lt;br /&gt;Consider downloading the &lt;span class="unresolved"&gt;Cannot resolve file macro, invalid file name or id.&lt;/span&gt; if needed.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
This...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:51:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318035106P</guid></item><item><title>Updated Wiki: Running StyleCop from Your Code</title><link>http://stylecopplus.codeplex.com/wikipage?title=Running StyleCop from Your Code&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Running StyleCop from Your Code&lt;/h1&gt;
This is a very simple example of how StyleCop could be run from your code.&lt;br /&gt;
&lt;h2&gt;Create Console Application&lt;/h2&gt;
Create C# console application targeting .NET 3.5 or .NET 4.0 (full version, not &amp;quot;Client Profile&amp;quot;).&lt;br /&gt;&lt;br /&gt;Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp.Rules&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Use source code below as an example:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; StyleCopRun.Simple
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Simple example for running StyleCop environment.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Program
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Main program entry.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:Blue;"&gt;string&lt;/span&gt;[] args)
		{
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; projectPath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\&amp;quot;&lt;/span&gt;;
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; filePath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\Class1.cs&amp;quot;&lt;/span&gt;;

			StyleCopConsole console = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StyleCopConsole(
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;false&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;true&lt;/span&gt;);

			CodeProject project = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; CodeProject(
				0,
				projectPath,
				&lt;span style="color:Blue;"&gt;new&lt;/span&gt; Configuration(&lt;span style="color:Blue;"&gt;null&lt;/span&gt;));

			console.Core.Environment.AddSourceCode(project, filePath, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;);

			console.OutputGenerated += OnOutputGenerated;
			console.ViolationEncountered += OnViolationEncountered;
			console.Start(&lt;span style="color:Blue;"&gt;new&lt;/span&gt;[] { project }, &lt;span style="color:Blue;"&gt;true&lt;/span&gt;);
			console.OutputGenerated -= OnOutputGenerated;
			console.ViolationEncountered -= OnViolationEncountered;
			console.Dispose();

			Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Press any key to exit...&amp;quot;&lt;/span&gt;);
			Console.ReadKey();
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles generated output.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnOutputGenerated(
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender,
			OutputEventArgs e)
		{
			Console.WriteLine(e.Output);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles encountered violations.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnViolationEncountered(
			&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender,
			ViolationEventArgs e)
		{
			Console.WriteLine(
				&lt;span style="color:#A31515;"&gt;&amp;quot;{0}: {1}&amp;quot;&lt;/span&gt;,
				e.Violation.Rule.CheckId,
				e.Message);
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Run Your Application&lt;/h2&gt;
After running it should display a console with some output:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=137508" alt="StyleCopRunSimple.png" title="StyleCopRunSimple.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:48:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Running StyleCop from Your Code 20120318034807P</guid></item><item><title>Updated Wiki: Running StyleCop from Your Code</title><link>http://stylecopplus.codeplex.com/wikipage?title=Running StyleCop from Your Code&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Running StyleCop from Your Code&lt;/h1&gt;
This is a very simple example of how StyleCop could be run from your code.&lt;br /&gt;
&lt;h2&gt;Create Console Application&lt;/h2&gt;
Create C# console application targeting .NET 3.5 or .NET 4.0 (full version, not &amp;quot;Client Profile&amp;quot;).&lt;br /&gt;&lt;br /&gt;Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp.Rules&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Use source code below as an example:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; StyleCopRun.Simple
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Simple example for running StyleCop environment.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Program
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Main program entry.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:Blue;"&gt;string&lt;/span&gt;[] args)
		{
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; projectPath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\&amp;quot;&lt;/span&gt;;
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; filePath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\Class1.cs&amp;quot;&lt;/span&gt;;

			StyleCopConsole console = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StyleCopConsole(
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;false&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;null&lt;/span&gt;,
				&lt;span style="color:Blue;"&gt;true&lt;/span&gt;);

			CodeProject project = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; CodeProject(
				0,
				projectPath,
				&lt;span style="color:Blue;"&gt;new&lt;/span&gt; Configuration(&lt;span style="color:Blue;"&gt;null&lt;/span&gt;));

			console.Core.Environment.AddSourceCode(project, filePath, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;);

			console.OutputGenerated += OnOutputGenerated;
			console.ViolationEncountered += OnViolationEncountered;
			console.Start(&lt;span style="color:Blue;"&gt;new&lt;/span&gt;[] { project }, &lt;span style="color:Blue;"&gt;true&lt;/span&gt;);
			console.OutputGenerated -= OnOutputGenerated;
			console.ViolationEncountered -= OnViolationEncountered;
			console.Dispose();

			Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Press any key to exit...&amp;quot;&lt;/span&gt;);
			Console.ReadKey();
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles generated output.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnOutputGenerated(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, OutputEventArgs e)
		{
			Console.WriteLine(e.Output);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles encountered violations.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnViolationEncountered(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, ViolationEventArgs e)
		{
			Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;{0}: {1}&amp;quot;&lt;/span&gt;, e.Violation.Rule.CheckId, e.Message);
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Run Your Application&lt;/h2&gt;
After running it should display a console with some output:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=137508" alt="StyleCopRunSimple.png" title="StyleCopRunSimple.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:46:37 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Running StyleCop from Your Code 20120318034637P</guid></item><item><title>Updated Wiki: Running StyleCop from Your Code</title><link>http://stylecopplus.codeplex.com/wikipage?title=Running StyleCop from Your Code&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Running StyleCop from Your Code&lt;/h1&gt;
This is a simple example of how StyleCop could be run from your code.&lt;br /&gt;
&lt;h2&gt;Create Console Application&lt;/h2&gt;
Create C# console application targeting .NET 3.5 or .NET 4.0 (full version, not &amp;quot;Client Profile&amp;quot;).&lt;br /&gt;&lt;br /&gt;Add references to the following binaries (can be found in StyleCop installation folder):
&lt;ul&gt;&lt;li&gt;StyleCop&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp&lt;/li&gt;
&lt;li&gt;StyleCop.CSharp.Rules&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Use source code below as an example:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; StyleCop;

&lt;span style="color:Blue;"&gt;namespace&lt;/span&gt; StyleCopRun.Simple
{
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Simple example for running StyleCop environment.&lt;/span&gt;
	&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Program
	{
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Main program entry.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:Blue;"&gt;string&lt;/span&gt;[] args)
		{
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; projectPath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\&amp;quot;&lt;/span&gt;;
			&lt;span style="color:Blue;"&gt;string&lt;/span&gt; filePath = &lt;span style="color:#A31515;"&gt;@&amp;quot;D:\TestProject\Class1.cs&amp;quot;&lt;/span&gt;;

			StyleCopConsole console = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StyleCopConsole(&lt;span style="color:Blue;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;"&gt;false&lt;/span&gt;, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;"&gt;true&lt;/span&gt;);
			CodeProject project = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; CodeProject(0, projectPath, &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Configuration(&lt;span style="color:Blue;"&gt;null&lt;/span&gt;));

			console.Core.Environment.AddSourceCode(project, filePath, &lt;span style="color:Blue;"&gt;null&lt;/span&gt;);

			console.OutputGenerated += OnOutputGenerated;
			console.ViolationEncountered += OnViolationEncountered;
			console.Start(&lt;span style="color:Blue;"&gt;new&lt;/span&gt;[] { project }, &lt;span style="color:Blue;"&gt;true&lt;/span&gt;);
			console.OutputGenerated -= OnOutputGenerated;
			console.ViolationEncountered -= OnViolationEncountered;
			console.Dispose();

			Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;Press any key to exit...&amp;quot;&lt;/span&gt;);
			Console.ReadKey();
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles generated output.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnOutputGenerated(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, OutputEventArgs e)
		{
			Console.WriteLine(e.Output);
		}

		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Handles encountered violations.&lt;/span&gt;
		&lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; OnViolationEncountered(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, ViolationEventArgs e)
		{
			Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;{0}: {1}&amp;quot;&lt;/span&gt;, e.Violation.Rule.CheckId, e.Message);
		}
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Run Your Application&lt;/h2&gt;
After running it should display a console with some output:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=137508" alt="StyleCopRunSimple.png" title="StyleCopRunSimple.png" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:45:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Running StyleCop from Your Code 20120318034503P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://stylecopplus.codeplex.com/documentation?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;StyleCop+ Documentation&lt;/h1&gt;&lt;h3&gt;Installation and Usage&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Quick%20Start%20Guide&amp;referringTitle=Documentation"&gt;Quick Start Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Compatibility%20Issues&amp;referringTitle=Documentation"&gt;Compatibility Issues&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Key Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;del&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Advanced%20Naming%20Rules&amp;referringTitle=Documentation"&gt;Advanced Naming Rules&lt;/a&gt;&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=More%20Custom%20Rules&amp;referringTitle=Documentation"&gt;More Custom Rules&lt;/a&gt;&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Extended%20Original%20Rules&amp;referringTitle=Documentation"&gt;Extended Original Rules&lt;/a&gt;&lt;/del&gt; &lt;i&gt;(this page is not ready yet)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Warnings&amp;referringTitle=Documentation"&gt;Warnings&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Rules%20Reference&amp;referringTitle=Documentation"&gt;Rules Reference&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Rules%20Reference&amp;referringTitle=Documentation&amp;ANCHOR#A"&gt;Advanced Naming Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Rules%20Reference&amp;referringTitle=Documentation&amp;ANCHOR#B"&gt;More Custom Rules&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Formatting&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2000&amp;referringTitle=Documentation"&gt;SP2000&amp;#58; CodeLineMustNotEndWithWhitespace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2001&amp;referringTitle=Documentation"&gt;SP2001&amp;#58; CheckAllowedIndentationCharacters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2002&amp;referringTitle=Documentation"&gt;SP2002&amp;#58; CheckWhetherLastCodeLineIsEmpty&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Maintainability&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2100&amp;referringTitle=Documentation"&gt;SP2100&amp;#58; CodeLineMustNotBeLongerThan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2101&amp;referringTitle=Documentation"&gt;SP2101&amp;#58; MethodMustNotContainMoreLinesThan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2102&amp;referringTitle=Documentation"&gt;SP2102&amp;#58; PropertyMustNotContainMoreLinesThan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=SP2103&amp;referringTitle=Documentation"&gt;SP2103&amp;#58; FileMustNotContainMoreLinesThan&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;More StyleCop Documentation&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=How%20to%20Create%20StyleCop%20Custom%20Rule&amp;referringTitle=Documentation"&gt;How to Create StyleCop Custom Rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stylecopplus.codeplex.com/wikipage?title=Running%20StyleCop%20from%20Your%20Code&amp;referringTitle=Documentation"&gt;Running StyleCop from Your Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:22:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120318032246P</guid></item><item><title>Updated Wiki: How to Create StyleCop Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create StyleCop Custom Rule&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create StyleCop Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be useful for learning how to create own StyleCop rules.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
This...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:18:49 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create StyleCop Custom Rule 20120318031849P</guid></item><item><title>Updated Wiki: How to Create Custom Rule</title><link>http://stylecopplus.codeplex.com/wikipage?title=How to Create Custom Rule&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to Create Custom Rule&lt;/h1&gt;
This article gives simple step-by-step guide which could be used for creating own StyleCop rules.&lt;br /&gt;
&lt;h2&gt;Step 1. Create a project&lt;/h2&gt;
This...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Sun, 18 Mar 2012 15:14:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: How to Create Custom Rule 20120318031454P</guid></item><item><title>Updated Wiki: Compatibility Issues</title><link>http://stylecopplus.codeplex.com/wikipage?title=Compatibility Issues&amp;version=27</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Compatibility Issues&lt;/h1&gt;
&lt;h2&gt;Natively Supported Version&lt;/h2&gt;As you may already know, StyleCop is released with strong-named core assemblies.&lt;br /&gt;That is why only one StyleCop version can be natively supported at one time.&lt;br /&gt;&lt;br /&gt;Currently natively supported StyleCop version is &lt;b&gt;4.7.11.0&lt;/b&gt;.&lt;br /&gt;It means if you are using StyleCop &lt;b&gt;4.7.11.0&lt;/b&gt;, StyleCop+ will work as is, without any additional efforts.&lt;br /&gt;&lt;br /&gt;Of course, I am always trying to keep StyleCop+ up to date.&lt;br /&gt;However, it is possible to make StyleCop+ with other StyleCop versions using assembly binding.&lt;br /&gt;But you should understand that it will only work as long as StyleCop API is not changed.&lt;br /&gt;
&lt;h2&gt;Understanding Assembly Binding&lt;/h2&gt;Assembly bindings are special instructions in .NET configuration files which say &amp;quot;Hey, use this version of this assembly instead of that version&amp;quot;.&lt;br /&gt;There are two ways where to define them.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;1. You could define assembly bindings in global .NET configuration file and it will affect the behaviour of all .NET applications on this machine.&lt;/li&gt;&lt;/ul&gt;
As a result, bindings will work for all cases described below, e.g. using StyleCop from Visual Studio, running it as MSBuild task, or just working with Settings Editor.&lt;br /&gt;But you should pay attention that each .NET version has its own configuration file.&lt;br /&gt;For example, Visual Studio 2010 will use one from .NET 4.0, while Settings Editor will use the other from .NET 3.5.&lt;br /&gt;So you could have to update them both.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;2. You could setup assembly binding for the specific application that uses StyleCop.&lt;/li&gt;&lt;/ul&gt;
To do this, you must locate its configuration file (or create it if it&amp;#39;s absent) and make corresponding changes.&lt;br /&gt;
&lt;h2&gt;How to Update Configuration File&lt;/h2&gt;The following table shows most typical examples of where configuration file is located:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt; Use Case &lt;/th&gt;&lt;th&gt; Configuration File &lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235789" alt="MachineConfigIcon.png" title="MachineConfigIcon.png" /&gt; Global .NET 2.0 / 3.0 / 3.5 configuration &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\Machine.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Will setup assembly bindings for all .NET 2.0 / 3.0 / 3.5 applications&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235789" alt="MachineConfigIcon.png" title="MachineConfigIcon.png" /&gt; Global .NET 4.0 configuration &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Will setup assembly bindings for all .NET 4.0 applications&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136593" alt="Vs2008Icon.png" title="Vs2008Icon.png" /&gt; Visual Studio 2008 &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from Visual Studio 2008&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136594" alt="Vs2010Icon.png" title="Vs2010Icon.png" /&gt; Visual Studio 2010 &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from Visual Studio 2010&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=136591" alt="MsBuildIcon.png" title="MsBuildIcon.png" /&gt; MSBuild &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Windows\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Running StyleCop from MSBuild task&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;* Please pay attention which MSBuild version you want to use&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=stylecopplus&amp;DownloadId=235788" alt="SettingsEditorIcon.png" title="SettingsEditorIcon.png" /&gt; Standalone Settings Editor &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;C:\Program Files\StyleCop 4.5\StyleCopSettingsEditor.exe.config&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;- Double-click on Settings.StyleCop file&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td&gt; &lt;sup&gt;&lt;i&gt;* You might need to create this file manually&lt;/i&gt;&lt;/sup&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;In order to setup assembly bindings, you should add the following instructions to the configuration file:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;???&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Attribute &lt;b&gt;&lt;span class="codeInline"&gt;oldVersion&lt;/span&gt;&lt;/b&gt; contains the version being redirected (i.e. StyleCop versions that StyleCop+ is trying to load).&lt;br /&gt;Attribute &lt;b&gt;&lt;span class="codeInline"&gt;newVersion&lt;/span&gt;&lt;/b&gt; describes which version to use instead (i.e. your StyleCop version).&lt;br /&gt;
&lt;h2&gt;Examples&lt;/h2&gt;
&lt;h3&gt;Using StyleCop+ with StyleCop 4.5.12.0 in Visual Studio 2010&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Locate file &lt;span class="codeInline"&gt;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config&lt;/span&gt; and add the following lines:&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
...
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    ...
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        ...
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            ...
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.12.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            ...
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        ...
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    ...
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Using StyleCop+ with StyleCop 4.5.11.0 in standalone Settings Editor&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Create file &lt;span class="codeInline"&gt;C:\Program Files\StyleCop 4.5\StyleCopSettingsEditor.exe.config&lt;/span&gt; with the following contents:&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt; &lt;span style="color:Red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;urn:schemas-microsoft-com:asm.v1&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;StyleCop.CSharp.Rules&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;publicKeyToken&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;f904653c63bc2738&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;bindingRedirect&lt;/span&gt; &lt;span style="color:Red;"&gt;oldVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.0.0-4.5.99.99&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;newVersion&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;4.5.11.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;dependentAssembly&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;assemblyBinding&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;runtime&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>shuruev</author><pubDate>Thu, 23 Feb 2012 15:15:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Compatibility Issues 20120223031516P</guid></item></channel></rss>