<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code Analysis Team Blog : FxCop</title><link>http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx</link><description>Tags: FxCop</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Fun with Code Analysis Rule Sets</title><link>http://blogs.msdn.com/fxcop/archive/2008/11/12/fun-with-code-analysis-rulesets.aspx</link><pubDate>Wed, 12 Nov 2008 22:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9064155</guid><dc:creator>cristend</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/9064155.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=9064155</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=9064155</wfw:comment><description>&lt;P&gt;Two weeks ago, I introduced you to Visual Studio 2010 September '08 CTP (Community Technology Preview). This CTP is available as a Virtual PC (VPC) image which can be downloaded at &lt;A href="http://go.microsoft.com/fwlink/?LinkId=129231" mce_href="http://go.microsoft.com/fwlink/?LinkId=129231"&gt;&lt;FONT color=#0000ff&gt;http://go.microsoft.com/fwlink/?LinkId=129231&lt;/FONT&gt;&lt;/A&gt;. The goal of the Community Technology Preview is to obtain feedback from our customers on the new scenarios we have enabled.&amp;nbsp; If you haven't already downloaded the CTP, do it now and take it out for a spin.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There&amp;nbsp;are many new cool features with the CTP such as an Historical Debugger and&amp;nbsp;Impact Analysis of&amp;nbsp;code changes, but today we are going to focus on &lt;STRONG&gt;Rule Sets&lt;/STRONG&gt; for code analysis. (For an overview of all the neat stuff happening in code analysis, check out this PDC video&amp;nbsp;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin"&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL60.wmv"&gt;http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL60.wmv&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;)&amp;nbsp;&amp;nbsp;Configuring code analysis in Visual Studio 2008 and earlier versions required evaluating each individual rule to determine whether it was important enough to turn on and fix for your project. This might be a very time-consuming process that made it difficult to make sure that the most important problems were identified and fixed. With rule sets, code analysis can now be configured much more quickly and easily with sets of rules that are targeted at specific scenarios or areas of emphasis. Let's take a look at&amp;nbsp;how this works.&lt;/P&gt;
&lt;P&gt;The following scenario comes from our CTP walkthrough.&amp;nbsp; You can find the walkthrough and more details when you download the CTP as described above.&amp;nbsp; Let's assume that you have the &lt;EM&gt;&lt;STRONG&gt;DinnerNow – Kiosk&lt;/STRONG&gt;&lt;/EM&gt; solution open and is the active project.&amp;nbsp; On the &lt;STRONG&gt;Analyze&lt;/STRONG&gt; menu, click &lt;STRONG&gt;Configure Code Analysis&lt;/STRONG&gt; &lt;STRONG&gt;for DinnerNow.Restaurants.Kiosk&lt;/STRONG&gt;.&amp;nbsp; The property page for Code Analysis is displayed:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG title="Code Analysis Properties" style="WIDTH: 590px; HEIGHT: 376px" height=376 alt="Code Analysis Properties" hspace=1 src="http://blogs.msdn.com/photos/codeanalysis/images/9064354/original.aspx" width=590 vspace=1 border=1 mce_src="http://blogs.msdn.com/photos/codeanalysis/images/9064354/original.aspx"&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This screen tells us that &lt;STRONG&gt;Microsoft All Rules&lt;/STRONG&gt; will be executed when we run code analysis, but what if we didn't want to run&amp;nbsp;every Microsoft rule?&amp;nbsp; What if we have a specific scenario we wish to target?&amp;nbsp; We can change which rule set to run by clicking on &lt;STRONG&gt;Open&lt;/STRONG&gt; which brings up:&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Add or Remove Rule Sets" style="WIDTH: 590px; HEIGHT: 387px" height=387 alt="Add or Remove Rule Sets" hspace=1 src="http://blogs.msdn.com/photos/codeanalysis/images/9064400/original.aspx" width=590 vspace=1 border=1 mce_src="http://blogs.msdn.com/photos/codeanalysis/images/9064400/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;We can select which rule set(s) by simply selecting or deselecting the appropriate box.&amp;nbsp; Notice that each rule set has a brief description of the types of rules within the rule set.&amp;nbsp; Further, you can open up each individual rule set and see the specific rules that make up the rules sets.&amp;nbsp; You can also turn on or off individual rules within a rule set.&amp;nbsp; Finally, you can adjust the type of action a rule will trigger.&amp;nbsp; In the past, code analysis rules&amp;nbsp;have been limited to build Warnings, but now you can elevate code analysis rules to build Errors.&lt;/P&gt;
&lt;P&gt;As you can see, rules sets provide a powerful way to focus code analysis on the scenarios and rules that matter most to you.&amp;nbsp; You can also create custom rule sets based on your specific needs.&amp;nbsp; We wont go into it today, but if you download the CTP, the Walkthrough explains how to customize a rule set.&lt;/P&gt;
&lt;P&gt;Give it a try and let us know what you think.&lt;/P&gt;
&lt;P&gt;Cris&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9064155" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Custom+Rules/default.aspx">Custom Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Rules/default.aspx">Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis+Policy/default.aspx">Code Analysis Policy</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/CodeCommunit+Analysis/default.aspx">CodeCommunit Analysis</category></item><item><title>New Code Analysis Features in Visual Studio 2010 September '08 CTP</title><link>http://blogs.msdn.com/fxcop/archive/2008/10/30/new-code-analysis-features-in-visual-studio-2010-september-08-ctp.aspx</link><pubDate>Thu, 30 Oct 2008 20:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9024851</guid><dc:creator>cristend</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/9024851.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=9024851</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=9024851</wfw:comment><description>&lt;P mce_keep="true"&gt;At this year's PDC, Microsoft released Visual Studio 2010 September '08 CTP (Community Technology Preview). This CTP is available as a Virtual PC (VPC) image which can be downloaded at &lt;A href="http://go.microsoft.com/fwlink/?LinkId=129231"&gt;http://go.microsoft.com/fwlink/?LinkId=129231&lt;/A&gt;. The goal of the Community Technology Preview is to obtain feedback from our customers on the new scenarios we have enabled.&amp;nbsp; If you are interested in code analysis, you need to get this CTP and here is why.&lt;/P&gt;
&lt;P&gt;The code analysis team is excited to share with you new code analysis features and rules in this CTP, including:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;I&gt;Rule sets&lt;/I&gt; - code analysis can now be configured much more quickly and easily with sets of rules that are targeted at specific scenarios or areas of emphasis&lt;BR&gt;&lt;BR clear=all&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;I&gt;Enhanced policy support&lt;/I&gt; - enforce your rule set with the code analysis check-in policy&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;I&gt;8 New Data Flow rules&lt;/I&gt; - find hard-to-detect flaws with these advanced dataflow rules for managed code; including certain SQL injection vulnerabilities&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Included with the CTP is a walkthrough guide.&amp;nbsp; Inside the walkthrough is a section dedicated to these exciting code analysis scenarios.&amp;nbsp; Over the next couple of weeks we will continue to blog about rule sets, policy support, and data flow rules so be sure to come back after you get the CTP. &lt;/P&gt;
&lt;P&gt;Now go get the CTP and starting sending us your feedback! &lt;A href="http://go.microsoft.com/fwlink/?LinkId=129231"&gt;http://go.microsoft.com/fwlink/?LinkId=129231&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9024851" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Rules/default.aspx">Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis+Policy/default.aspx">Code Analysis Policy</category></item><item><title>New for Visual Studio 2008 SP1 and FxCop 1.36 – Multi-targeting rule</title><link>http://blogs.msdn.com/fxcop/archive/2008/08/25/new-for-visual-studio-2008-sp1-and-fxcop-1-36-multi-targeting-rule.aspx</link><pubDate>Mon, 25 Aug 2008 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8893369</guid><dc:creator>David M. Kean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/8893369.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=8893369</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=8893369</wfw:comment><description>&lt;P&gt;I've just published a post over my blog about a new feature we added for Visual Studio 2008 SP1 and FxCop 1.36.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://davesbox.com/archive/2008/08/25/new-for-visual-studio-2008-sp1-and-fxcop-1-36-multi-targeting-rule.aspx" mce_href="http://davesbox.com/archive/2008/08/25/new-for-visual-studio-2008-sp1-and-fxcop-1-36-multi-targeting-rule.aspx"&gt;New for Visual Studio 2008 SP1 and FxCop 1.36 – Multi-targeting rule&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8893369" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Rules/default.aspx">Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item><item><title>FxCop 1.36 Released!</title><link>http://blogs.msdn.com/fxcop/archive/2008/08/19/fxcop-1-36-released.aspx</link><pubDate>Tue, 19 Aug 2008 23:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8879660</guid><dc:creator>brettwo</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/8879660.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=8879660</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=8879660</wfw:comment><description>&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 10pt 0.5in" class=MsoListParagraph&gt;&lt;SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;We are&amp;nbsp;pleased to announce that we've &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#0000ff&gt;released the next version of FxCop&lt;/FONT&gt;&lt;/A&gt;. This release has a number of changes since FxCop 1.36 Beta 2, including, but not limited to, the following:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Bug fixes that reduce noise, missing analysis and rule crashes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;New portability rule: Use Only API from Targeted Framework.&amp;nbsp; This rule will fire when the target assembly taking a dependency on a new API only included in a later version or in a service pack.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;New option for new portability rule for selecting target framework for analysis.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Set the target framework in the UI via &lt;B&gt;Project -&amp;gt; Option -&amp;gt; Spelling &amp;amp; Analysis -&amp;gt; Target Framework&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Set the target framework o&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;n the command-line via the /&lt;B&gt;targetframeworkversion&lt;/B&gt; switch. e.g: /targetframeworkversion:v2.0, /targetframeworkversion:v3.0, or /targetframeworkversion:v3.5&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Compared with FxCop 1.35, FxCop 1.36 Beta 2 had changes including, but not limited to, the following:&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;200+ bug fixes that reduce noise, missing analysis and rule crashes &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Support for &lt;A href="http://blogs.msdn.com/fxcop/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx" mce_href="http://blogs.msdn.com/fxcop/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx"&gt;&lt;FONT color=#0000ff&gt;analyzing anonymous methods and lambda expressions&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;New option for skipping analysis over tool generated code&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Turn this on in the UI via &lt;B&gt;Project&lt;/B&gt; -&amp;gt; &lt;B&gt;Options&lt;/B&gt; -&amp;gt; &lt;B&gt;Spelling &amp;amp; Analysis&lt;/B&gt; -&amp;gt; &lt;B&gt;Suppress analysis results against generated code&lt;/B&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Turn this on on the command-line via the &lt;B&gt;/ignoregeneratedcode&lt;/B&gt; switch.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Better support for C++/CLI and the Compact Framework &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Language 'friendly' API names in the UI and resolutions (ie Visual Basic syntax if running over a Visual Basic binary) &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;New globalization, design and usage rules &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Performance improvements that cut analysis by 2x and use half as much memory &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;Documentation that is &lt;A href="http://msdn2.microsoft.com/en-us/library/bb429476(VS.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb429476(VS.80).aspx"&gt;&lt;FONT color=#0000ff&gt;now available on MSDN&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="LINE-HEIGHT: 150%; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .75in" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;There are also some other underlying changes that we will talk about in some future posts.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 0pt 0.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Download it&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, and tell us what you think. If you have any feedback, bug reports or any questions, feel free to head over to the &lt;/FONT&gt;&lt;A href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=98&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=98&amp;amp;SiteID=1"&gt;&lt;FONT size=3 face=Calibri&gt;Code Analysis&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; forum and ask away.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 0pt 0.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 0pt 0.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 10pt 0.5in" class=MsoListParagraph&gt;&lt;B&gt;&lt;SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Note: &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&amp;nbsp;If you already have FxCop 1.36 Beta 2 installed, please uninstall it first before you install FxCop 1.36. Otherwise, you may see an error when you install FxCop 1.36 on top of FxCop 1.36 Beta 2. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 10pt 0.5in" class=MsoListParagraph&gt;&lt;SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;If you accidentally install FxCop 1.36 without uninstalling FxCop 1.36 Beta 2, please go to Add/Remove program to uninstall FxCop 1.36, and reinstall FxCop 1.36.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 150%; MARGIN: 0in 0in 10pt 0.5in" class=MsoListParagraph&gt;&lt;SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;STRONG&gt;[EDIT] Note: &lt;/STRONG&gt;FxCop 1.36 RTM shipped with additional tracing turned on.&amp;nbsp; This can make the FxCop output harder to read.&amp;nbsp; To turn tracing off, edit the FxCop.exe.config or FxCopCmd.exe.config files in the FxCop install directory.&amp;nbsp; Find the line that contains &lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 11pt"&gt;&amp;lt;add name="Trace" value="2" /&amp;gt;&lt;/SPAN&gt; and change the "2" to "0".&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8879660" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Rules/default.aspx">Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Releases/default.aspx">Releases</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/C_2B002B00_/default.aspx">C++</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/CodeCommunit+Analysis/default.aspx">CodeCommunit Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/y/default.aspx">y</category></item><item><title>David Kean's new blog</title><link>http://blogs.msdn.com/fxcop/archive/2008/06/10/david-kean-s-new-blog.aspx</link><pubDate>Tue, 10 Jun 2008 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8589158</guid><dc:creator>David M. Kean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/8589158.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=8589158</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=8589158</wfw:comment><description>&lt;P&gt;For those that are interested, I've just started a new personal blog, &lt;A class="" href="http://davesbox.com/" mce_href="http://davesbox.com/"&gt;Dave's Box&lt;/A&gt;, where I will be talking about FxCop, Framework Design Guidelines, and the recently announced &lt;A class="" href="http://davesbox.com/archive/2008/06/04/announcing-the-managed-extensibility-framework-ctp.aspx" mce_href="http://davesbox.com/archive/2008/06/04/announcing-the-managed-extensibility-framework-ctp.aspx"&gt;Managed Extensibility Framework&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I've just posted&amp;nbsp;a couple of posts detailing changes&amp;nbsp;we made to FxCop 1.36:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://davesbox.com/archive/2008/06/08/fxcop-now-ships-with-the-spell-checker-libraries.aspx" mce_href="http://davesbox.com/archive/2008/06/08/fxcop-now-ships-with-the-spell-checker-libraries.aspx"&gt;FxCop now ships with the spell checker libraries&lt;/A&gt;&lt;BR&gt;&lt;A class="" href="http://davesbox.com/archive/2008/06/10/reference-resolution-changes-in-code-analysis-and-fxcop-part-1.aspx" mce_href="http://davesbox.com/archive/2008/06/10/reference-resolution-changes-in-code-analysis-and-fxcop-part-1.aspx"&gt;Reference resolution changes in Code Analysis and FxCop&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can subscribe via the one of the two following links:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="VERTICAL-ALIGN: middle" height=14 src="http://davesbox.com/images/feed-icon-14x14.png" width=14 mce_src="http://blogs.msdn.com/images/feed-icon-14x14.png" mce_style="vertical-align: middle"&gt;&amp;nbsp;&lt;A class=null href="http://feeds.feedburner.com/DavesBox" mce_href="http://feeds.feedburner.com/DavesBox"&gt;Subscribe via reader&lt;/A&gt; &lt;BR&gt;&lt;IMG style="VERTICAL-ALIGN: middle" height=14 src="http://davesbox.com/images/email.gif" width=14 mce_src="http://blogs.msdn.com/images/email.gif" mce_style="vertical-align: middle"&gt;&amp;nbsp;&lt;A class=null href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2003699" mce_href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2003699"&gt;Subscribe via email&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8589158" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/tsbt-dev/default.aspx">tsbt-dev</category></item><item><title>FAQ: How do I prevent FxCop 1.36 from firing warnings against generated code?</title><link>http://blogs.msdn.com/fxcop/archive/2008/02/28/faq-how-do-i-prevent-fxcop-1-36-from-firing-warnings-against-generated-code.aspx</link><pubDate>Thu, 28 Feb 2008 21:39:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7936799</guid><dc:creator>David M. Kean</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/7936799.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=7936799</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=7936799</wfw:comment><description>&lt;p&gt;&lt;em&gt;I've upgraded from FxCop 1.35 to 1.36 and now FxCop has started to fire warnings against typed DataSets and other generated code. How do I turn this off?&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The reason this is occurring is because we changed the way that FxCop analyzed generated code. Whereas previously in 1.35, FxCop would only ignore particular generated code (such as DataSets), FxCop 1.36 will now either ignore no generated code, or all generated code. The former is the default.&lt;/p&gt; &lt;p&gt;To change this behavior and have FxCop skip over generated code:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Using an FxCop project:&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Open your FxCop project in FxCop&lt;/li&gt; &lt;li&gt;Choose &lt;strong&gt;Project&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Options&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Spelling &amp;amp; Analysis&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;Check &lt;strong&gt;Suppress analysis results against generated code&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;Via the command-line:&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Pass the /ignoregeneratedcode switch, for example:&lt;br&gt;&lt;br&gt;&lt;font face="Courier New"&gt;FxCopCmd.exe /file:MyAssembly.dll /out:AnalysisResults.xml /ignoregeneratedcode&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;For more information on FxCop's behavior over generated code, see &lt;a href="http://blogs.msdn.com/fxcop/archive/2007/04/27/correct-usage-of-the-compilergeneratedattribute-and-the-generatedcodeattribute.aspx"&gt;Correct usage of the CompilerGeneratedAttribute and the GeneratedCodeAttribute&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7936799" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/FAQ/default.aspx">FAQ</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item><item><title>What happened to the download and documentation of FxCop 1.35?</title><link>http://blogs.msdn.com/fxcop/archive/2008/02/26/what-happened-to-the-download-and-documentation-of-fxcop-1-35.aspx</link><pubDate>Wed, 27 Feb 2008 02:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7911459</guid><dc:creator>David M. Kean</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/7911459.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=7911459</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=7911459</wfw:comment><description>&lt;P&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; You can now download FxCop&amp;nbsp;1.35 directly from &lt;A class="" href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=codeanalysis&amp;amp;ReleaseId=553" mce_href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=codeanalysis&amp;amp;ReleaseId=553"&gt;MSDN Code&amp;nbsp;Gallery&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As you many you have well noticed, &lt;A href="http://gotdonet.com/" mce_href="http://gotdonet.com/"&gt;GotDotNet&lt;/A&gt; was officially retired last month now that the last of its functionality was superceded by &lt;A href="http://code.msdn.microsoft.com/" mce_href="http://code.msdn.microsoft.com/"&gt;MSDN Code Gallery&lt;/A&gt;. Unfortunately, at the same time, the FxCop team page, the download for FxCop 1.35 and the rule documentation was also removed. &lt;/P&gt;
&lt;P&gt;We were told last year about the deprecation of GotDotNet and we had hoped that by now we would have had a new team site on MSDN, however, a variety of factors, some within our control and some beyond our control, prevented that from happening in time. &lt;/P&gt;
&lt;P&gt;In the meantime, while we sort out new home for our beloved FxCop, here are a couple of workarounds:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;To download FxCop&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Upgrade to FxCop 1.36 Beta.&lt;/STRONG&gt; This is one of our most stable beta's to-date; which is not surprising considering that some of the same bits also shipped in Visual Studio 2008. Go ahead, &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=3389F7E4-0E55-4A4D-BC74-4AEABB17997B&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=3389F7E4-0E55-4A4D-BC74-4AEABB17997B&amp;amp;displaylang=en"&gt;download FxCop 1.36&lt;/A&gt; today - you won't be disappointed.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Download the Windows SDK. &lt;/STRONG&gt;The Windows SDK includes the FxCop 1.35 setup. You might already have it installed if you have Visual Studio 2008, otherwise, &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en"&gt;download it&lt;/A&gt;. Either way, once installed, FxCop 1.35 setup can be found via &lt;STRONG&gt;Start&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;All Programs&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;Microsoft Windows SDK [Version]&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;Tools&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;Install Microsoft FxCop&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;To view the documentation&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;MSDN Library.&lt;/STRONG&gt; Both the &lt;A href="http://msdn2.microsoft.com/en-us/library/bb429476(vs.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb429476(vs.80).aspx"&gt;FxCop documentation &lt;/A&gt;and &lt;A href="http://msdn2.microsoft.com/en-us/library/bb429379(VS.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb429379(VS.80).aspx"&gt;rule documentation&lt;/A&gt; are available on the MSDN Library.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Installed Help&lt;/STRONG&gt;. FxCop 1.35 comes with a CHM (pronounced 'chum') containing FxCop and rule documentation. Albeit a little out-of-date when compared to the online version, access it via &lt;STRONG&gt;Start&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;All Programs&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;Microsoft FxCop 1.35&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;FxCop Documentation&lt;/STRONG&gt; or via &lt;STRONG&gt;Help&lt;/STRONG&gt; -&amp;gt; &lt;STRONG&gt;Using Microsoft FxCop&lt;/STRONG&gt; inside FxCop.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7911459" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Releases/default.aspx">Releases</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item><item><title>Tutorial on writing your own Code Analysis rule</title><link>http://blogs.msdn.com/fxcop/archive/2008/01/18/tutorial-on-writing-your-own-code-analysis-rule.aspx</link><pubDate>Fri, 18 Jan 2008 18:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7143040</guid><dc:creator>David M. Kean</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/7143040.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=7143040</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=7143040</wfw:comment><description>&lt;P&gt;Jason Kresowaty has posted &lt;A class="" href="http://www.binarycoder.net/fxcop/" mce_href="http://www.binarycoder.net/fxcop/"&gt;a great tutorial on writing Code Analysis/FxCop rules&lt;/A&gt;. He also spends time on explaining parts of the Introspection&amp;nbsp;API, including the different nodes and their relationship to each other.&lt;/P&gt;
&lt;P&gt;It's a great read, even if you've written some Code Analysis rules before. Definitely recommended.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7143040" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Custom+Rules/default.aspx">Custom Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category></item><item><title>FAQ: Which Code Analysis rules shipped in which version?</title><link>http://blogs.msdn.com/fxcop/archive/2008/01/07/faq-which-rules-shipped-in-which-version.aspx</link><pubDate>Mon, 07 Jan 2008 21:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7018062</guid><dc:creator>David M. Kean</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/7018062.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=7018062</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=7018062</wfw:comment><description>&lt;P&gt;In response to &lt;EM&gt;a lot&lt;/EM&gt; of recent requests, we've put together a complete list of rules that shipped in the different versions of Visual Studio Code Analysis and FxCop. Attached is an Excel worksheet providing this information for Visual Studio 2005, Visual Studio 2008, FxCop 1.35 and FxCop 1.36 Beta.&lt;/P&gt;
&lt;P&gt;One of things you'll notice as you read through the list is that we removed some rules from the later versions. There are a few reasons for this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Noise and applicability.&lt;/STRONG&gt; We use feedback from customers, &lt;A href="http://blogs.msdn.com/jensenh/archive/2006/04/05/568947.aspx" mce_href="http://blogs.msdn.com/jensenh/archive/2006/04/05/568947.aspx"&gt;SQM data&lt;/A&gt; (to see which rules users turn off), and input from internal teams (Windows, Office, CLR, etc) to determine the rules that are noisy without adding any perceivable value. There are also rules that are either no longer applicable or can no longer fire. for example, a rule could have been firing on a limitation of the CLR which has since been fixed in later versions.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Merged rules&lt;/STRONG&gt;. Sometimes it makes sense to merge rules that fire on similar things, for example, the analysis in SecureGetObjectDataOverrides was already covered by OverrideLinkDemandsShouldBeIdenticalToBase, so these two rules were merged. Similarly, LongAcronymsShouldBePascalCased, ShortAcronymsShouldBeUppercase and IdentifiersShouldBeCasedCorrectly all fired on the casing of identifiers, and hence were merged in the later.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Analysis engine removed.&lt;/STRONG&gt; In Visual Studio 2008 and FxCop 1.36 we removed one of our analysis engines. This engine was removed for a variety of reasons; it increased analysis time (although the engine encompassed less than 5% our analysis, it took up 50% of our time-to-analyze), indeterministic results (results appearing and disappearing between runs), and bugs found within the engine (and hence the rules that depended on it) required huge architectural changes. We instead decided to invest the resources that we would have spent on fixing the old engine, on a new data flow analysis engine based on &lt;A href="http://research.microsoft.com/phoenix/" mce_href="http://research.microsoft.com/phoenix/"&gt;Phoenix&lt;/A&gt;, which we will ship in a future version of Visual Studio.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There are also more differences between Visual Studio Code Analysis and FxCop than just the rules - in a future blog post I will cover these in detail.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7018062" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/fxcop/attachment/7018062.ashx" length="55296" type="application/octet-stream" /><category domain="http://blogs.msdn.com/fxcop/archive/tags/FAQ/default.aspx">FAQ</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category></item><item><title>Come chat with the Code Analysis team tomorrow</title><link>http://blogs.msdn.com/fxcop/archive/2007/12/04/come-chat-with-the-code-analysis-team-tomorrow.aspx</link><pubDate>Tue, 04 Dec 2007 20:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6655538</guid><dc:creator>David M. Kean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/6655538.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=6655538</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=6655538</wfw:comment><description>&lt;P mce_keep="true"&gt;Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.&lt;/P&gt;
&lt;P mce_keep="true"&gt;We will be holding two sessions:&lt;/P&gt;
&lt;P mce_keep="true"&gt;Join the &lt;A href="http://msdn.microsoft.com/chats"&gt;chat&lt;/A&gt; on Wednesday, December 5th, 2007 from 10:00am - 11:00am Pacific Time. &lt;A href="http://www.microsoft.com/communities/chats/vcs/07_1205_msdn_VSTS10.ics"&gt;Add to Calendar&lt;/A&gt; | &lt;A href="http://www.timeanddate.com/worldclock/fixedtime.html?month=12&amp;amp;day=5&amp;amp;year=2007&amp;amp;hour=10&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=234"&gt;Additional Time Zones&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -and-&lt;/P&gt;
&lt;P&gt;Join the &lt;A href="http://msdn.microsoft.com/chats"&gt;chat&lt;/A&gt; on Wednesday, December 5th, 2007 from 4:00pm - 5:00pm Pacific Time. &lt;A href="http://www.microsoft.com/communities/chats/vcs/07_1205_msdn_VSTS4.ics"&gt;Add to Calendar&lt;/A&gt; | &lt;A href="http://www.timeanddate.com/worldclock/fixedtime.html?month=12&amp;amp;day=5&amp;amp;year=2007&amp;amp;hour=16&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=234"&gt;Additional Time Zones&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6655538" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Metrics/default.aspx">Code Metrics</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis+Policy/default.aspx">Code Analysis Policy</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/tsbt-dev/default.aspx">tsbt-dev</category></item><item><title>Try the Code Analysis Rule Sets Feature in the November &amp;quot;Rosario&amp;quot; November 2007 CTP</title><link>http://blogs.msdn.com/fxcop/archive/2007/11/28/try-the-code-analysis-rule-sets-feature-in-the-november-rosario-november-2007-ctp.aspx</link><pubDate>Thu, 29 Nov 2007 01:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6586375</guid><dc:creator>conorm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/6586375.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=6586375</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=6586375</wfw:comment><description>&lt;p&gt;We have a great new feature that we are previewing in &lt;em&gt;Microsoft&amp;#174; Visual Studio&amp;#174; Team System code name &amp;#8220;Rosario&amp;#8221; November 2007 CTP&lt;/em&gt;.&amp;#160; This feature allows you to select pre-defined sets of rules to configure code analysis as well as define your own.&amp;#160; To access this feature right click on a project and choose &amp;quot;Properties&amp;quot; then click on the &amp;quot;Code Analysis&amp;quot; tab.&lt;/p&gt;  &lt;p&gt;This feature is in response to the feedback we received that the number of rules is overwhelming and difficult to configure.&lt;/p&gt;  &lt;p&gt;For this preview release we have focused on the core concept and made minimal changes to the UI.&amp;#160; In RTM we will have a new UI and a rich edit experience.&amp;#160; &lt;strong&gt;This release is all about getting your feedback&lt;/strong&gt;.&amp;#160; Try out this feature on your code, use the built-in rule sets and let us know what you think.&amp;#160; Tell us what we missed or what rules you think are there and should not be.&amp;#160; Your real-life experience is our best guide for this feature.&amp;#160; &lt;/p&gt;  &lt;p&gt;You can create a custom rule set to fine tune the exact rules to use.&amp;#160; If you think we should include your custom rule set in the out of the box sets then we want to hear from you (feedback links below).&amp;#160; Just attach the exported file to your connect bug or mail us.&lt;/p&gt;  &lt;p&gt;Some useful links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Release Post from JeffBe and download instructions - &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/jeffbe/archive/2007/11/28/november-rosario-ctp-now-available.aspx"&gt;here&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Feedback - &lt;/strong&gt;bugs and suggestions can be submitted via &lt;a href="http://connect.microsoft.com/visualstudio"&gt;http://connect.microsoft.com/visualstudio&lt;/a&gt;. Make sure when you submit issues through Connect that you indicate the product version as being &amp;#8220;Visual Studio Team System Code Name &amp;#8220;Rosario&amp;#8221; (November 2007 CTP)&amp;#8221;. That will ensure it gets to the right folks for consideration. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Questions&lt;/strong&gt; - we&amp;#8217;ve created a special forum specifically focused on Rosario: &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1736&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1736&amp;amp;SiteID=1&lt;/a&gt; or you can respond to this blog post.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We look forward to hearing from you and hope you enjoy this new feature.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6586375" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Releases/default.aspx">Releases</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/tsbt-dev/default.aspx">tsbt-dev</category></item><item><title>FxCop 1.36 Beta Released!</title><link>http://blogs.msdn.com/fxcop/archive/2007/10/10/fxcop-1-36-beta-released.aspx</link><pubDate>Wed, 10 Oct 2007 23:09:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5393512</guid><dc:creator>David M. Kean</dc:creator><slash:comments>22</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/5393512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=5393512</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=5393512</wfw:comment><description>&lt;p&gt;I'm pleased to announce that we've &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3389f7e4-0e55-4a4d-bc74-4aeabb17997b&amp;amp;displaylang=en"&gt;released a beta of the next version of FxCop&lt;/a&gt;. This release has a number of changes since FxCop 1.35, including, but not limited to, the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;200+ bug fixes that reduce noise, missing analysis and rule crashes &lt;/li&gt;    &lt;li&gt;Support for &lt;a href="http://blogs.msdn.com/fxcop/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx"&gt;analyzing anonymous methods and lambda expressions&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;New option for skipping analysis over tool generated code      &lt;ul&gt;       &lt;li&gt;Turn this on in the UI via &lt;strong&gt;Project&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Options&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Spelling &amp;amp; Analysis&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Suppress analysis results against generated code&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;Turn this on in the command-line via &lt;strong&gt;/ignoregeneratedcode&lt;/strong&gt; switch. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Better support for C++/CLI and the Compact Framework &lt;/li&gt;    &lt;li&gt;Language 'friendly' API names in the UI and resolutions (ie Visual Basic syntax if running over a Visual Basic binary) &lt;/li&gt;    &lt;li&gt;New globalization, design and usage rules &lt;/li&gt;    &lt;li&gt;Performance improvements that cut analysis by 2x and use half as much memory &lt;/li&gt;    &lt;li&gt;Documentation that is &lt;a href="http://msdn2.microsoft.com/en-us/library/bb429476(VS.80).aspx"&gt;now available on MSDN&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are also some other underlying changes that I will talk about in some future posts. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3389f7e4-0e55-4a4d-bc74-4aeabb17997b&amp;amp;displaylang=en"&gt;Download it&lt;/a&gt;, and tell us what you think. If you have any feedback, bug reports or any questions, feel free to head over to the &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=98&amp;amp;SiteID=1"&gt;Code Analysis&lt;/a&gt; forum and ask away.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5393512" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Releases/default.aspx">Releases</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item><item><title>What rules do Microsoft have turned on internally?</title><link>http://blogs.msdn.com/fxcop/archive/2007/08/09/what-rules-do-microsoft-have-turned-on-internally.aspx</link><pubDate>Thu, 09 Aug 2007 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4302873</guid><dc:creator>David M. Kean</dc:creator><slash:comments>22</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/4302873.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=4302873</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=4302873</wfw:comment><description>&lt;P&gt;I've&amp;nbsp;recently received a few requests asking about the Code Analysis rules we run internally against Microsoft's own code. While it might come as a surprise, we do not actually run every single rule against our own binaries. There are many reasons for this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Applicability&lt;/STRONG&gt;. Not every rule is applicable to every project, for example, the Design rules might be turned off if you are writing a Windows Application&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Noise rate&lt;/STRONG&gt;. Some rules have a&amp;nbsp;low signal-to-noise ratio. While we try remove as much noise as possible from a rule,&amp;nbsp;some rules, due to&amp;nbsp;limitations&amp;nbsp;in our analysis engine, still remain to be too noisy to be run regularly over large code bases. For example, some of the performance rules lack real context to make a good judge of whether a particular issue will really affect the performance of an application.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Time.&lt;/STRONG&gt; We have to ship eventually - attempting to fix every single violation, for every single binary is just not feasible nor advisable.&amp;nbsp;Therefore we make calls to turn off some rules that may lack value and do not&amp;nbsp;impact the security of the product.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Please note that the following rule sets&amp;nbsp;are applicable only to the Developer&amp;nbsp;Division (although Windows does actually follow the same bar), other&amp;nbsp;divisions, such as MSN, Office, etc&amp;nbsp;each have their own&amp;nbsp;set of enabled rules&amp;nbsp;that&amp;nbsp;may or may not be match what is shown below.&lt;/P&gt;
&lt;P&gt;There are two rule sets; the first, &lt;EM&gt;Public Rule Set&lt;/EM&gt;, is for assemblies that design for public consumption. That is, assemblies that are designed to have user take a reference to them in their own projects (such as System.Core.dll). The second, &lt;EM&gt;Non-Public Rule Set&lt;/EM&gt;,&amp;nbsp;is for assemblies are not designed to be consumed by users (such as FxCopCmd.exe). Both sets are listed below:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Public Rule Set:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width=1020 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" width="10%"&gt;&lt;B&gt;Design&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1008 &lt;/TD&gt;
&lt;TD class=""&gt;EnumsShouldHaveZeroValue &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1009 &lt;/TD&gt;
&lt;TD class=""&gt;DeclareEventHandlersCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1011 &lt;/TD&gt;
&lt;TD class=""&gt;ConsiderPassingBaseTypesAsParameters &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1012 &lt;/TD&gt;
&lt;TD class=""&gt;AbstractTypesShouldNotHaveConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1014 &lt;/TD&gt;
&lt;TD class=""&gt;MarkAssembliesWithClsCompliant &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1017 &lt;/TD&gt;
&lt;TD class=""&gt;MarkAssembliesWithComVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1018 &lt;/TD&gt;
&lt;TD class=""&gt;MarkAttributesWithAttributeUsage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1019 &lt;/TD&gt;
&lt;TD class=""&gt;DefineAccessorsForAttributeArguments &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1023 &lt;/TD&gt;
&lt;TD class=""&gt;IndexersShouldNotBeMultidimensional &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1025 &lt;/TD&gt;
&lt;TD class=""&gt;ReplaceRepetitiveArgumentsWithParamsArray &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1026 &lt;/TD&gt;
&lt;TD class=""&gt;DefaultParametersShouldNotBeUsed &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1027 &lt;/TD&gt;
&lt;TD class=""&gt;MarkEnumsWithFlags &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1028 &lt;/TD&gt;
&lt;TD class=""&gt;EnumStorageShouldBeInt32 &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1030 &lt;/TD&gt;
&lt;TD class=""&gt;UseEventsWhereAppropriate &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1032 &lt;/TD&gt;
&lt;TD class=""&gt;ImplementStandardExceptionConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1034 &lt;/TD&gt;
&lt;TD class=""&gt;NestedTypesShouldNotBeVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1036 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideMethodsOnComparableTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1038 &lt;/TD&gt;
&lt;TD class=""&gt;EnumeratorsShouldBeStronglyTyped &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1039 &lt;/TD&gt;
&lt;TD class=""&gt;ListsAreStronglyTyped &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1040 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidEmptyInterfaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1041 &lt;/TD&gt;
&lt;TD class=""&gt;ProvideObsoleteAttributeMessage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1043 &lt;/TD&gt;
&lt;TD class=""&gt;UseIntegralOrStringArgumentForIndexers &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1044 &lt;/TD&gt;
&lt;TD class=""&gt;PropertiesShouldNotBeWriteOnly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1045 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotPassTypesByReference &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1046 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotOverloadOperatorEqualsOnReferenceTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1050 &lt;/TD&gt;
&lt;TD class=""&gt;DeclareTypesInNamespaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1051 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotDeclareVisibleInstanceFields &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1052 &lt;/TD&gt;
&lt;TD class=""&gt;StaticHolderTypesShouldBeSealed &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1053 &lt;/TD&gt;
&lt;TD class=""&gt;StaticHolderTypesShouldNotHaveConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1054 &lt;/TD&gt;
&lt;TD class=""&gt;UriParametersShouldNotBeStrings &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1055 &lt;/TD&gt;
&lt;TD class=""&gt;UriReturnValuesShouldNotBeStrings &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1056 &lt;/TD&gt;
&lt;TD class=""&gt;UriPropertiesShouldNotBeStrings &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1057 &lt;/TD&gt;
&lt;TD class=""&gt;StringUriOverloadsCallSystemUriOverloads &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1058 &lt;/TD&gt;
&lt;TD class=""&gt;TypesShouldNotExtendCertainBaseTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1059 &lt;/TD&gt;
&lt;TD class=""&gt;MembersShouldNotExposeCertainConcreteTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Globalization&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1300 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyMessageBoxOptions &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1301 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidDuplicateAccelerators &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1304 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyCultureInfo &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1305 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyIFormatProvider &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1306 &lt;/TD&gt;
&lt;TD class=""&gt;SetLocaleForDataTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1307 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyStringComparison &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1309 &lt;/TD&gt;
&lt;TD class=""&gt;UseOrdinalStringComparison &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2101 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyMarshalingForPInvokeStringArguments &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Interoperability&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1401 &lt;/TD&gt;
&lt;TD class=""&gt;PInvokesShouldNotBeVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1402 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidOverloadsInComVisibleInterfaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1403 &lt;/TD&gt;
&lt;TD class=""&gt;AutoLayoutTypesShouldNotBeComVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1404 &lt;/TD&gt;
&lt;TD class=""&gt;CallGetLastErrorImmediatelyAfterPInvoke &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1405 &lt;/TD&gt;
&lt;TD class=""&gt;ComVisibleTypeBaseTypesShouldBeComVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1406 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidInt64ArgumentsForVB6Clients &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1408 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotUseAutoDualClassInterfaceType &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1413 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidNonpublicFieldsInComVisibleValueTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Naming&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1700 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotNameEnumValuesReserved &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1701 &lt;/TD&gt;
&lt;TD class=""&gt;ResourceStringCompoundWordsShouldBeCasedCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1702 &lt;/TD&gt;
&lt;TD class=""&gt;CompoundWordsShouldBeCasedCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1703 &lt;/TD&gt;
&lt;TD class=""&gt;ResourceStringsShouldBeSpelledCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1704 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldBeSpelledCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1707 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldNotContainUnderscores &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1708 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldDifferByMoreThanCase &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1709 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldBeCasedCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1710 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldHaveCorrectSuffix &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1711 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldNotHaveIncorrectSuffix &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1712 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotPrefixEnumValuesWithTypeName &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1713 &lt;/TD&gt;
&lt;TD class=""&gt;EventsShouldNotHaveBeforeOrAfterPrefix &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1714 &lt;/TD&gt;
&lt;TD class=""&gt;FlagsEnumsShouldHavePluralNames &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1715 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldHaveCorrectPrefix &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1716 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldNotMatchKeywords &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1719 &lt;/TD&gt;
&lt;TD class=""&gt;ParameterNamesShouldNotMatchMemberNames &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1720 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldNotContainTypeNames &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1721 &lt;/TD&gt;
&lt;TD class=""&gt;PropertyNamesShouldNotMatchGetMethods &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1722 &lt;/TD&gt;
&lt;TD class=""&gt;IdentifiersShouldNotHaveIncorrectPrefix &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1724 &lt;/TD&gt;
&lt;TD class=""&gt;TypeNamesShouldNotMatchNamespaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Performance&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1811 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidUncalledPrivateCode &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1812 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidUninstantiatedInternalClasses &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1813 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidUnsealedAttributes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1815 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideEqualsAndOperatorEqualsOnValueTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1816 &lt;/TD&gt;
&lt;TD class=""&gt;DisposeMethodsShouldCallSuppressFinalize &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1819 &lt;/TD&gt;
&lt;TD class=""&gt;PropertiesShouldNotReturnArrays &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Portability&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1900 &lt;/TD&gt;
&lt;TD class=""&gt;ValueTypeFieldsShouldBePortable &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1901 &lt;/TD&gt;
&lt;TD class=""&gt;PInvokeDeclarationsShouldBePortable &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp; &lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Reliability&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2001 &lt;/TD&gt;
&lt;TD class=""&gt;AvoidCallingProblematicMethods &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2002 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotLockOnObjectsWithWeakIdentity &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2004 &lt;/TD&gt;
&lt;TD class=""&gt;RemoveCallsToGCKeepAlive &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2006 &lt;/TD&gt;
&lt;TD class=""&gt;UseSafeHandleToEncapsulateNativeResources &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Security&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2102 &lt;/TD&gt;
&lt;TD class=""&gt;CatchNonClsCompliantExceptionsInGeneralHandlers &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2103 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewImperativeSecurity &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2104 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotDeclareReadOnlyMutableReferenceTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2105&amp;nbsp; &lt;/TD&gt;
&lt;TD class=""&gt;ArrayFieldsShouldNotBeReadOnly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2106 &lt;/TD&gt;
&lt;TD class=""&gt;SecureAsserts &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2107 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewDenyAndPermitOnlyUsage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2108 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewDeclarativeSecurityOnValueTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2109 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewVisibleEventHandlers &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2111 &lt;/TD&gt;
&lt;TD class=""&gt;PointersShouldNotBeVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2112 &lt;/TD&gt;
&lt;TD class=""&gt;SecuredTypesShouldNotExposeFields &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2114 &lt;/TD&gt;
&lt;TD class=""&gt;MethodSecurityShouldBeASupersetOfType &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2115 &lt;/TD&gt;
&lt;TD class=""&gt;CallGCKeepAliveWhenUsingNativeResources &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2116 &lt;/TD&gt;
&lt;TD class=""&gt;AptcaMethodsShouldOnlyCallAptcaMethods &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2117 &lt;/TD&gt;
&lt;TD class=""&gt;AptcaTypesShouldOnlyExtendAptcaBaseTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2118 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewSuppressUnmanagedCodeSecurityUsage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2119 &lt;/TD&gt;
&lt;TD class=""&gt;SealMethodsThatSatisfyPrivateInterfaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2120 &lt;/TD&gt;
&lt;TD class=""&gt;SecureSerializationConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2121 &lt;/TD&gt;
&lt;TD class=""&gt;StaticConstructorsShouldBePrivate &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2122 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotIndirectlyExposeMethodsWithLinkDemands &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2123 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideLinkDemandsShouldBeIdenticalToBase &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2124 &lt;/TD&gt;
&lt;TD class=""&gt;WrapVulnerableFinallyClausesInOuterTry &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2126 &lt;/TD&gt;
&lt;TD class=""&gt;TypeLinkDemandsRequireInheritanceDemands &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2127 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentAssembliesShouldNotContainSecurityCriticalCode &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2128 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentCodeShouldNotAssert &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2129 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentCodeShouldNotReferenceNonpublicSecurityCriticalCode &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Usage&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1806 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotIgnoreMethodResults &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2207 &lt;/TD&gt;
&lt;TD class=""&gt;InitializeValueTypeStaticFieldsInline &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2208 &lt;/TD&gt;
&lt;TD class=""&gt;InstantiateArgumentExceptionsCorrectly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2209 &lt;/TD&gt;
&lt;TD class=""&gt;AssembliesShouldDeclareMinimumSecurity &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2211 &lt;/TD&gt;
&lt;TD class=""&gt;NonConstantFieldsShouldNotBeVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2213 &lt;/TD&gt;
&lt;TD class=""&gt;DisposableFieldsShouldBeDisposed &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2214 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotCallOverridableMethodsInConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2216 &lt;/TD&gt;
&lt;TD class=""&gt;DisposableTypesShouldDeclareFinalizer &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2217 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotMarkEnumsWithFlags &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2218 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideGetHashCodeOnOverridingEquals &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2220 &lt;/TD&gt;
&lt;TD class=""&gt;FinalizersShouldCallBaseClassFinalizer &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2221 &lt;/TD&gt;
&lt;TD class=""&gt;FinalizersShouldBeProtected &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2224 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideEqualsOnOverloadingOperatorEquals &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2225 &lt;/TD&gt;
&lt;TD class=""&gt;OperatorOverloadsHaveNamedAlternates &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2227 &lt;/TD&gt;
&lt;TD class=""&gt;CollectionPropertiesShouldBeReadOnly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2228 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotShipUnreleasedResourceFormats &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2229 &lt;/TD&gt;
&lt;TD class=""&gt;ImplementSerializationConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2230 &lt;/TD&gt;
&lt;TD class=""&gt;UseParamsForVariableArguments &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2233 &lt;/TD&gt;
&lt;TD class=""&gt;OperationsShouldNotOverflow &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2234 &lt;/TD&gt;
&lt;TD class=""&gt;PassSystemUriObjectsInsteadOfStrings &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2235 &lt;/TD&gt;
&lt;TD class=""&gt;MarkAllNonSerializableFields &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2236 &lt;/TD&gt;
&lt;TD class=""&gt;CallBaseClassMethodsOnISerializableTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2237 &lt;/TD&gt;
&lt;TD class=""&gt;MarkISerializableTypesWithSerializable &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2240 &lt;/TD&gt;
&lt;TD class=""&gt;ImplementISerializableCorrectly &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Non-Public Rule Set:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width=937 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" width="10%"&gt;&lt;B&gt;Globalization&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2101 &lt;/TD&gt;
&lt;TD class=""&gt;SpecifyMarshalingForPInvokeStringArguments &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Portability&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1900 &lt;/TD&gt;
&lt;TD class=""&gt;ValueTypeFieldsShouldBePortable &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA1901 &lt;/TD&gt;
&lt;TD class=""&gt;PInvokeDeclarationsShouldBePortable &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Reliability&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2002 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotLockOnObjectsWithWeakIdentity &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Security&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2100 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewSqlQueriesForSecurityVulnerabilities &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2102 &lt;/TD&gt;
&lt;TD class=""&gt;CatchNonClsCompliantExceptionsInGeneralHandlers &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2103 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewImperativeSecurity &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2104 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotDeclareReadOnlyMutableReferenceTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2105 &lt;/TD&gt;
&lt;TD class=""&gt;ArrayFieldsShouldNotBeReadOnly &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2106 &lt;/TD&gt;
&lt;TD class=""&gt;SecureAsserts &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2107 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewDenyAndPermitOnlyUsage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2108 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewDeclarativeSecurityOnValueTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2109 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewVisibleEventHandlers &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2111 &lt;/TD&gt;
&lt;TD class=""&gt;PointersShouldNotBeVisible &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2112 &lt;/TD&gt;
&lt;TD class=""&gt;SecuredTypesShouldNotExposeFields &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2114 &lt;/TD&gt;
&lt;TD class=""&gt;MethodSecurityShouldBeASupersetOfType &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2115 &lt;/TD&gt;
&lt;TD class=""&gt;CallGCKeepAliveWhenUsingNativeResources &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2116 &lt;/TD&gt;
&lt;TD class=""&gt;AptcaMethodsShouldOnlyCallAptcaMethods &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2117 &lt;/TD&gt;
&lt;TD class=""&gt;AptcaTypesShouldOnlyExtendAptcaBaseTypes &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2118 &lt;/TD&gt;
&lt;TD class=""&gt;ReviewSuppressUnmanagedCodeSecurityUsage &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2119 &lt;/TD&gt;
&lt;TD class=""&gt;SealMethodsThatSatisfyPrivateInterfaces &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2120 &lt;/TD&gt;
&lt;TD class=""&gt;SecureSerializationConstructors &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2121 &lt;/TD&gt;
&lt;TD class=""&gt;StaticConstructorsShouldBePrivate &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2122 &lt;/TD&gt;
&lt;TD class=""&gt;DoNotIndirectlyExposeMethodsWithLinkDemands &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2123 &lt;/TD&gt;
&lt;TD class=""&gt;OverrideLinkDemandsShouldBeIdenticalToBase &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2124 &lt;/TD&gt;
&lt;TD class=""&gt;WrapVulnerableFinallyClausesInOuterTry &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2126 &lt;/TD&gt;
&lt;TD class=""&gt;TypeLinkDemandsRequireInheritanceDemands &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2127 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentAssembliesShouldNotContainSecurityCriticalCode &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2128 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentCodeShouldNotAssert &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2129 &lt;/TD&gt;
&lt;TD class=""&gt;SecurityTransparentCodeShouldNotReferenceNonpublicSecurityCriticalCode &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;B&gt;Usage&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;CA2233 &lt;/TD&gt;
&lt;TD class=""&gt;OperationsShouldNotOverflow &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Now, while the above rules are set&amp;nbsp;and mandated at the Division-level, individual teams&amp;nbsp;can (and do) add additional rules. For example, most assemblies, whether public or not, at a minimum follow the Public Rule Set.&amp;nbsp;The Code Analysis team itself actually turns on every single rule to run over the binaries that we release.&lt;/P&gt;
&lt;P&gt;Also note that because they are set at the start of a product cycle and are not changed again until the start of the next cycle, rule sets do not include rules that are new to Visual Studio 2008 (with exception to security rules). This is prevent the situation of the introduction of a new rule causing existing code to be no longer be Code Analysis clean (ie moving the basket). &lt;/P&gt;
&lt;P&gt;These rule&amp;nbsp;sets will be revisited for Rosario and beyond.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4302873" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Rules/default.aspx">Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/tsbt-dev/default.aspx">tsbt-dev</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Dogfooding/default.aspx">Dogfooding</category></item><item><title>FxCop Designers Honored with the Engineering Excellence Chairman's Award</title><link>http://blogs.msdn.com/fxcop/archive/2007/07/05/fxcop-designers-honored-with-the-engineering-excellence-chairman-s-award.aspx</link><pubDate>Thu, 05 Jul 2007 18:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3692545</guid><dc:creator>David M. Kean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/3692545.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=3692545</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=3692545</wfw:comment><description>&lt;P&gt;Mike Fanning, &lt;A class="" href="http://blogs.msdn.com/kcwalina/default.aspx" mce_href="http://blogs.msdn.com/kcwalina/default.aspx"&gt;Krzysztof Cwalina&lt;/A&gt;, and &lt;A class="" href="http://blogs.msdn.com/brada/" mce_href="http://blogs.msdn.com/brada/"&gt;Brad Abrams&lt;/A&gt; were awarded with the Engineering Excellence Chairman's Award for the design of FxCop, which is given for contributions that Bill Gates considers extremely important:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;The Engineering Excellence Chairman's Award is Microsoft's highest award for engineering group employees worldwide. This award recognizes and rewards individuals that have pioneered noteworthy innovations in their drive for engineering excellence. Receiving the Engineering Excellence Chairman's Award is a level of recognition that only a few of our finest employees achieve.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is an awesome achievement and something that they all deserve. Congratulations!&lt;/P&gt;
&lt;P&gt;Krzysztof has more information on his blog: &lt;A href="http://blogs.msdn.com/kcwalina/archive/2007/07/03/EEAward.aspx"&gt;http://blogs.msdn.com/kcwalina/archive/2007/07/03/EEAward.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3692545" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item><item><title>What kind of custom rules do you want to write?</title><link>http://blogs.msdn.com/fxcop/archive/2007/07/04/what-kind-of-custom-rules-do-you-want-to-write.aspx</link><pubDate>Wed, 04 Jul 2007 18:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3692221</guid><dc:creator>David M. Kean</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/fxcop/comments/3692221.aspx</comments><wfw:commentRss>http://blogs.msdn.com/fxcop/commentrss.aspx?PostID=3692221</wfw:commentRss><wfw:comment>http://blogs.msdn.com/fxcop/rsscomments.aspx?PostID=3692221</wfw:comment><description>&lt;P&gt;Our excellent program manager, Joe Rohde, is trying to gather information on the kinds of custom rules customers want to write.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;I am a program manager for our Code Analysis system.&amp;nbsp;I want to know what kind of custom rules you would like to write.&amp;nbsp;Ignore what you may or may not know about what's in FxCop already. If you could track anything - tell me what you want!&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;I don't care if it's things you know we can't do - except maybe 'find my bugs'.&amp;nbsp;Tell your friends, tell anyone who has ever said: I wish this thing could...&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;The reason I want everything is both to help plan the rules we should just plain provide; and how to best provide an actual supported extensibility feature.&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;Please send what you would like to see to: &lt;/EM&gt;&lt;A href="mailto:JRohde@Microsoft.com"&gt;&lt;EM&gt;JRohde@Microsoft.com&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;Thanks!&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Joe&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Provide Joe with feedback and help us plan our future extensibility.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3692221" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/fxcop/archive/tags/Custom+Rules/default.aspx">Custom Rules</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/Code+Analysis/default.aspx">Code Analysis</category><category domain="http://blogs.msdn.com/fxcop/archive/tags/FxCop/default.aspx">FxCop</category></item></channel></rss>