<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Jan Schreuder on .Net</title><subtitle type="html">.Net code samples, experiences, observations&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/in/janschreuder"&gt;&lt;img src="http://www.linkedin.com/img/webpromo/btn_liprofile_blue_80x15.gif" width="80" height="15" border="0" alt="View my professional profile on LinkedIn" /&gt;&lt;/a&gt;</subtitle><id>http://bloggingabout.net/blogs/jschreuder/atom.aspx</id><link rel="alternate" type="text/html" href="http://bloggingabout.net/blogs/jschreuder/default.aspx" /><link rel="self" type="application/atom+xml" href="http://bloggingabout.net/blogs/jschreuder/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.40407.4157">Community Server</generator><updated>2008-07-29T15:21:00Z</updated><entry><title>IE8 Release Candidate available for download</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2009/01/27/ie8-release-candidate-released.aspx" /><id>/blogs/jschreuder/archive/2009/01/27/ie8-release-candidate-released.aspx</id><published>2009-01-27T12:28:00Z</published><updated>2009-01-27T12:28:00Z</updated><content type="html">&lt;p&gt;You may have noticed already, but the RC1 release of Internet Explorer 8 is now available for download at &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/worldwide-sites.aspx"&gt;this location&lt;/a&gt;. Internet Explorer 8 offers the following new features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accellerators. Makes it easier to map directions, translate words, send email, etc. &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/features/accelerators.aspx"&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;InPrivate Browsing. IE 8 will not store history information, if you don&amp;#39;t want to. &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/features/browse-privately.aspx"&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;WebSlices. Seems to me like another form of RSS feeds. &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/features/web-slices.aspx"&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Search Suggestions. Type a text in the address bar, and detailed suggestions appear in the drop down list. &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/features/instant-search.aspx"&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Various new security features. We all know what it&amp;#39;s for, right? &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/features/stay-safer-online.aspx"&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The website contains various video&amp;#39;s that demonstrate the new features. Follow &lt;a target="_blank" href="http://www.microsoft.com/windows/internet-explorer/beta/default.aspx"&gt;this link&lt;/a&gt; to visit the IE8 Beta web site.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481078" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /></entry><entry><title>If Microsoft is so good at testing, why does your software suck?</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2009/01/13/if-microsoft-is-so-good-at-testing-why-does-your-software-suck.aspx" /><id>/blogs/jschreuder/archive/2009/01/13/if-microsoft-is-so-good-at-testing-why-does-your-software-suck.aspx</id><published>2009-01-13T13:51:28Z</published><updated>2009-01-13T13:51:28Z</updated><content type="html">&lt;p&gt;I was triggered to read a blog post by James Whittaker, software architect at Microsoft, through an article in Computable, a Dutch IT magazine. The dutch article was a short interview with James Whittaker about his work at Microsoft and for Visual Studio 10. He mentioned the title of his blog post to show that testers at Microsoft are aware that bugs do.&lt;/p&gt; &lt;p&gt;To read his post about testing at Microsoft, click this link: &lt;a href="http://blogs.msdn.com/james_whittaker/archive/2008/08/11/if-microsoft-is-so-good-at-testing-why-does-your-software-suck.aspx" target="_blank"&gt;&amp;quot;if Microsoft is so good at testing, why does your software suck?&amp;quot;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;From the same author, a post comparing &lt;a href="http://blogs.msdn.com/james_whittaker/archive/2008/12/09/google-v-microsoft-and-the-dev-test-ratio-debate.aspx" target="_blank"&gt;developer to tester ratios at Microsoft and Google&lt;/a&gt; is an interesting read. &lt;/p&gt; &lt;p&gt;Both articles give a open look into Microsoft with regards to software testing.&lt;/p&gt; &lt;p&gt;A quote from the dutch article (poorly translated): &amp;quot;Perfect software? It&amp;#39;s not going to happen. People build nothing that is perfect&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=480501" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /></entry><entry><title>Sleepless in Seattle</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2009/01/13/sleepless-in-seattle.aspx" /><id>/blogs/jschreuder/archive/2009/01/13/sleepless-in-seattle.aspx</id><published>2009-01-13T11:58:20Z</published><updated>2009-01-13T11:58:20Z</updated><content type="html">&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jschreuder/LEAP2009_5F00_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="64" alt="LEAP2009" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jschreuder/LEAP2009_5F00_thumb.jpg" width="244" align="right" border="0" /&gt;&lt;/a&gt;This week I&amp;#39;m in Seattle as part of &lt;a href="http://www.microsoft.com/netherlands/architecture/leap.aspx" target="_blank"&gt;LEAP 2009&lt;/a&gt;, a Microsoft program for Dutch IT architects. Purpose of this program is to increase knowledge on Microsoft&amp;#39;s vision on technical architecture, the future of software technology and enhancing architects knowledge of Microsoft&amp;#39;s product range.&lt;/p&gt; &lt;p&gt;We&amp;#39;re the guests of Microsoft for a three day conference at Microsoft Conference Center in Redmond. During the conference, Microsoft Architects will share the architecture strategy, technology and roadmap and will go into architectural details.&lt;/p&gt; &lt;p&gt;Some of the subjects:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;IIS 7 future&lt;/li&gt; &lt;li&gt;Office Future&lt;/li&gt; &lt;li&gt;New World of Work&lt;/li&gt; &lt;li&gt;Visual Studio 10 .Net 4.0&lt;/li&gt; &lt;li&gt;Innovations in Identity management&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Sessions are from 8:30 till 17:00. So with my current jet lag (I&amp;#39;m writing this at 3:45 local time...) the first day might be a challenge. I&amp;#39;ll try to post whatever interesting I hear over the next couple of days. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=480489" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /></entry><entry><title>What the f**k..</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/10/30/what-the-f-k.aspx" /><id>/blogs/jschreuder/archive/2008/10/30/what-the-f-k.aspx</id><published>2008-10-30T12:10:00Z</published><updated>2008-10-30T12:10:00Z</updated><content type="html">&lt;p&gt;I see a lot of code from other developers and every now and then you see some real gems. Today I was looking at a query to see if and&amp;nbsp;how it could be optimised. One of the things I did was look at the query plan to see if indexes were used for various joins.&amp;nbsp;One of the items in the plan made me look at a table definition, to&amp;nbsp;check on it&amp;#39;s indexes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I then discovered that one of the tables joined into the query contained an index on every column?!?!?! I checked other queries that used the same table and discovered that all joins on that table were made on the column that made up the primary key. That primary key was a clustered index, so barely impossible to try and optimize that. &lt;/p&gt;
&lt;p&gt;The F**K factor in this is of course what in heavens name posessed the developer that designed that table was actually thinking. The table contains 10 columns and 10 indexes. I removed&amp;nbsp;all but the primary key and the query still performed as it was. Inserts and updates on the table are flying now, obviously. &lt;/p&gt;
&lt;p&gt;Motto: Think before you index a column!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476354" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="SQL Server" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/SQL+Server/default.aspx" /></entry><entry><title>How to: Delete rows from a table using a join on a second table</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/10/22/how-to-delete-rows-from-a-table-using-a-join-on-a-second-table.aspx" /><id>/blogs/jschreuder/archive/2008/10/22/how-to-delete-rows-from-a-table-using-a-join-on-a-second-table.aspx</id><published>2008-10-22T08:43:00Z</published><updated>2008-10-22T08:43:00Z</updated><content type="html">&lt;p&gt;In my current project, we have a tables where the primary key consists of two values. Based on the result of a query, we needed to delete a few rows from that table. The query returned the two key values and we needed to join that information in the delete statement. It&amp;#39;s not rocket science, but it did cost us some searching before we had a solution. To make sure I don&amp;#39;t forget, this small blog shows how we did it.&lt;/p&gt;
&lt;p&gt;First of all, when you need to delete information from one table based on information from a second, then this is the way to go:&lt;/p&gt;
&lt;div style="font-size:9pt;background:#f5f5f5;overflow:auto;width:100%;color:black;font-family:Courier New;border:#cccccc 1pt solid;padding:1pt;"&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;DELETE &lt;/span&gt;t1&lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;FROM &lt;/span&gt;MyTable1 &lt;span style="color:#0000ff;"&gt;AS &lt;/span&gt;t1 &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;inner join &lt;/span&gt;MYTABLE2 t2 &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;ON &lt;/span&gt;t1.KeyValue1= t2.KeyValue1 &lt;span style="color:#0000ff;"&gt;and &lt;/span&gt;t1.KeyValue2 = t2.KeyValue2&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;As you can see, you simply add the join and specify the key values for that join. However, we needed the result from a query. To do that, you can use the following solution:&lt;/p&gt;
&lt;div style="font-size:9pt;background:#f5f5f5;overflow:auto;width:100%;color:black;font-family:Courier New;border:#cccccc 1pt solid;padding:1pt;"&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;DELETE &lt;/span&gt;t1&lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;FROM &lt;/span&gt;MyTable1 &lt;span style="color:#0000ff;"&gt;AS &lt;/span&gt;t1 &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;inner join &lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;SELECT &lt;/span&gt;KeyValue1, KeyValue2 &lt;span style="color:#0000ff;"&gt;from &lt;/span&gt;MyTable2) t2 &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;    ON &lt;/span&gt;t1.KeyValue1 = t2.KeyValue1 &lt;span style="color:#0000ff;"&gt;and &lt;/span&gt;t1.KeyValue2 = t2.KeyValue2&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;I simplified the query, because the original query is a lot more complex than this one. Again, it&amp;#39;s not difficult, but could be useful if you run into a similar situation&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=475821" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Code Samples" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+Samples/default.aspx" /><category term="SQL Server" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/SQL+Server/default.aspx" /></entry><entry><title>Have you heard of MinWin yet?</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/10/22/heard-of-minwin-yet.aspx" /><id>/blogs/jschreuder/archive/2008/10/22/heard-of-minwin-yet.aspx</id><published>2008-10-22T07:29:00Z</published><updated>2008-10-22T07:29:00Z</updated><content type="html">&lt;p&gt;On October 13, &lt;a target="_blank" href="http://www.microsoft.com/presspass/exec/de/Traut/default.mspx"&gt;Eric Traut&lt;/a&gt; from the Core Virtual Machine Team at Microsoft&amp;rsquo;s Core OS Division, gave a presentation about the vritualization technology Microsoft currently has to offer. The full presentation can be seen &lt;a target="_blank" href="http://www.acm.uiuc.edu/conference/2007/video/UIUC-ACM-RP07-Traut.wmv"&gt;here&lt;/a&gt;&amp;nbsp;and takes about an hour.&lt;/p&gt;
&lt;p&gt;During the presentation, he talks about various versions of windows, among which Windows 7. He demonstrates the previous versions of Windows (including Windows 1.0!!!), but also shows a running version of a minimal Windows 7 Core. Microsoft calls this &lt;strong&gt;MinWin&lt;/strong&gt; and contains only the core components of the new Windows version. The core takes up about 25Mb (!!!) of diskspace and is capable of running in 40Mb of memory. Microsoft does not see a commercial future for this product. The section where he talks about the various windows versions and minwin can be viewed &lt;a target="_blank" href="http://www.istartedsomething.com/20071019/eric-talk-demo-windows-7-minwin/"&gt;here&lt;/a&gt;. It was fun seeing those older versions of Windows again!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=475820" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Articles" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Articles/default.aspx" /></entry><entry><title>CopySourceAsHTML 3.0 has been released</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/10/20/copysourceashtml-3-0-has-been-released.aspx" /><id>/blogs/jschreuder/archive/2008/10/20/copysourceashtml-3-0-has-been-released.aspx</id><published>2008-10-20T21:02:00Z</published><updated>2008-10-20T21:02:00Z</updated><content type="html">&lt;p&gt;Everyone who pastes code into his or her blog has probably used it. If you haven&amp;#39;t, then you have to check it out. It allows you to copy code into your blogpost almost instantly, and produces things like this:&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#cccccc 1pt solid;PADDING-RIGHT:1pt;BORDER-TOP:#cccccc 1pt solid;PADDING-LEFT:1pt;FONT-SIZE:9pt;BACKGROUND:#f5f5f5;PADDING-BOTTOM:1pt;OVERFLOW:auto;BORDER-LEFT:#cccccc 1pt solid;WIDTH:100%;COLOR:black;PADDING-TOP:1pt;BORDER-BOTTOM:#cccccc 1pt solid;FONT-FAMILY:Courier New;"&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; Gets or sets the name of the server.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;The name of the server.&lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ServerName&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;{&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.serverName; &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.serverName = &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;; &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The authors of &lt;a target="_blank" href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/"&gt;CopySourceAsHTML&lt;/a&gt; sent me an email today to inform me of their latest version. This version includes the following changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A number of bug fixes&lt;/li&gt;
&lt;li&gt;The new option Save as HTML, allowing you to save the HTML code rather than posting it to your clip-board&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is also the first version to officially support Visual Studio 2008 and marks the return to active development of this VS add-on.&lt;/p&gt;
&lt;p&gt;So if you like to add code to your blog the easy way, be sure to check out the new version. If you&amp;#39;re using Community Server, &lt;a target="_blank" href="http://bloggingabout.net/blogs/jschreuder/archive/2007/08/19/how-to-change-settings-in-copysourceashtml-for-use-with-community-server.aspx"&gt;be sure to read this post&lt;/a&gt;.. It explains how to change the settings for &lt;a target="_blank" href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/"&gt;CopySourceAsHTML&lt;/a&gt; so that it resembles the example above.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=475767" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="XML" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/XML/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>How to - Create a missing designer.cs file</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/10/17/how-to-create-a-missing-designer-cs-file.aspx" /><id>/blogs/jschreuder/archive/2008/10/17/how-to-create-a-missing-designer-cs-file.aspx</id><published>2008-10-17T09:49:00Z</published><updated>2008-10-17T09:49:00Z</updated><content type="html">&lt;p&gt;I was running into this just now and found a quick way to solve it, so I just posted it for future reference.&lt;/p&gt;
&lt;p&gt;I have an ASP.Net web application project in .Net 2.0 which was migrated from .Net 1.1 some time ago. I noticed that a few aspx pages did not have a designer.cs file. All controls on those pages were listed as protected variable in the main code behind page, like this example:&lt;/p&gt;
&lt;div style="font-size:9pt;background:#f5f5f5;overflow:auto;width:100%;color:black;font-family:Courier New;border:#cccccc 1pt solid;padding:1pt;"&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; An example label&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;protected&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="color:#2b91af;"&gt;Label&lt;/span&gt; Label2;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;And it annoyed me. It was not consistent with the new pages in the application, and most other aspx pages that were also there during migration did have the designer.cs file. So how to solve this, in order to get a more consistent use of ASP.Net. I followed the following steps to do this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;First step - Make sure the latest version of the project is on your machine.&lt;/li&gt;
&lt;li&gt;Second step is to remove the protected variables for the controls from the normal code behind cs file.&lt;/li&gt;
&lt;li&gt;Now right-Click on the project and select &amp;#39;Convert to Web Application&amp;#39;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The missing designer.cs is now created and added to the project. The protected variables, which were removed from the main code behind class are now in the partial class in the newly created designer.cs. The class in the original code behind class is also changed to a partial class.&lt;/p&gt;
&lt;p&gt;If you forget step 2 and still want to remove the protected variables from your code behind class, then follow the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Remove the protected variables for the controls from the normal code behind cs file.&lt;/li&gt;
&lt;li&gt;Open the ASPX file and make sure you view it in Source (HTML) mode &lt;/li&gt;
&lt;li&gt;Select the entire HTML mark up using CTRL-A&lt;/li&gt;
&lt;li&gt;Now press CTRL-K followed by CTRL-F&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The HTML mark-up will be re-aligned and the designer.cs file will be recreated, including all the protected variables.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=475653" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="Code Samples" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+Samples/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>Syntax error? Really?!?!</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/09/25/syntax-error-really.aspx" /><id>/blogs/jschreuder/archive/2008/09/25/syntax-error-really.aspx</id><published>2008-09-25T09:44:00Z</published><updated>2008-09-25T09:44:00Z</updated><content type="html">&lt;p&gt;In my current project, we have adopted &lt;a target="_blank" href="http://blogs.msdn.com/sourceanalysis/"&gt;Microsoft StyleCop&lt;/a&gt; as a tool to make sure everyone sticks to the same style of coding. One of the things we currently incorporate in our daily work is making sure our existing code conforms to the rules we agreed on. Today however, StyleCop refused to check a class because of a syntax error in the following line of code:&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#cccccc 1pt solid;PADDING-RIGHT:1pt;BORDER-TOP:#cccccc 1pt solid;PADDING-LEFT:1pt;FONT-SIZE:9pt;BACKGROUND:#f5f5f5;PADDING-BOTTOM:1pt;OVERFLOW:auto;BORDER-LEFT:#cccccc 1pt solid;WIDTH:100%;COLOR:black;PADDING-TOP:1pt;BORDER-BOTTOM:#cccccc 1pt solid;FONT-FAMILY:Courier New;"&gt;
&lt;pre style="MARGIN:0px;"&gt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt; fraction = totalStaff &amp;gt; 0 &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? fraction = (&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;)completed / (&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;)totalStaff &lt;/pre&gt;
&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; : fraction = 0;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The code you see here is part of a calculation to get the percentage of users that have completed a certain training module. The compiler sees no problem, and the result is as you would expect. But looking at the code, you do see something really weird. The variable &lt;span style="color:#0000ff;font-family:courier new,courier;"&gt;&lt;strong&gt;fraction&lt;/strong&gt;&lt;/span&gt; is always assigned twice. Maybe not a syntax problem, but strange and not necessary. &lt;/p&gt;
&lt;p&gt;The following code does the same and only assigns the value once.&lt;/p&gt;
&lt;div style="font-size:9pt;background:#f5f5f5;overflow:auto;width:100%;color:black;font-family:Courier New;border:#cccccc 1pt solid;padding:1pt;"&gt;
&lt;pre style="margin:0px;"&gt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt; fraction = totalStaff &amp;gt; 0 &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? (&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;)completed / (&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;)totalStaff &lt;/pre&gt;
&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;So why would someone do it twice? &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=474818" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>Thank you, Lutz Roeder</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/08/26/thank-you-lutz-roeder.aspx" /><id>/blogs/jschreuder/archive/2008/08/26/thank-you-lutz-roeder.aspx</id><published>2008-08-26T21:47:00Z</published><updated>2008-08-26T21:47:00Z</updated><content type="html">&lt;p&gt;I just received an email from Lutz Roeder informing the users of Reflector that he decided to explore new opportunities. He has reached an agreement with RedGate software to continue work on Reflector. From his email:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;em&gt;I have reached an agreement to have &lt;a target="_blank" href="http://www.red-gate.com/"&gt;Red Gate Software&lt;/a&gt; continue the development of .NET Reflector. Red Gate has a lot of experience creating development tools for both .NET and SQL Server. They have the resources necessary to work on new features, and Reflector fits nicely with other .NET tools the company offers.&lt;br /&gt;&lt;/em&gt;&lt;em&gt;&lt;br /&gt;Red Gate will continue to provide the free community version and is looking for your feedback and ideas for future versions.&lt;br /&gt;&lt;br /&gt;For news and updates on Reflector, sign up for the &lt;a target="_blank" href="http://reflector.red-gate.com/subscribe.aspx"&gt;.NET Developer&amp;rsquo;s Newsletter&lt;/a&gt; from Red Gate. To find out more about the agreement, see the interview on &lt;a target="_blank" href="http://www.simple-talk.com/the_future_of_reflector"&gt;Simple Talk&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I really want to thank Lutz for all the great work he&amp;#39;s done with Reflector, allowing us to explore the code inside .Net assemblies. He brought an excellent tool to our community and literally opened up .Net code for all to see&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=473366" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="Articles" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Articles/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /></entry><entry><title>StyleCop - QuickStart tips</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/08/21/stylecop-some-quickstart-pointers.aspx" /><id>/blogs/jschreuder/archive/2008/08/21/stylecop-some-quickstart-pointers.aspx</id><published>2008-08-21T07:15:00Z</published><updated>2008-08-21T07:15:00Z</updated><content type="html">&lt;p&gt;After using StyleCop for some weeks, there are some things I think that might be useful to others when they want to start using the tool. So here are some tips.&lt;/p&gt;
&lt;h3&gt;Tip 1 -&amp;nbsp;Also download the documentation&lt;/h3&gt;
&lt;p&gt;The documentation for StyleCop is available as a separate download. It explains why the rules are introduced and how you can fix violations. Without this documentation, you may think some of the rules are useless or annoying.&lt;/p&gt;
&lt;h3&gt;Tip 2 - Do not run the tool on an entire solution&lt;/h3&gt;
&lt;p&gt;At least, not untill you&amp;#39;re satisfied that your code complies with the rules. You get so many warnings in a project or solution where the tool hasn&amp;#39;t been used before, that you may think to stop using it immediately. &lt;/p&gt;
&lt;h3&gt;Tip 3 - Running the tool on one class file&lt;/h3&gt;
&lt;p&gt;Could have been in tip 2 as well, but I wanted to make a distinction here. When you right-click in the code, you will see the item &lt;strong&gt;Run StyleCop&lt;/strong&gt;. Select this, and the tool will only check that particular class file. The number of warnings is signicantly less than when you run the tool on an entire project or solution, so the results are more obvious and motivate you more to keep using the tool.&lt;/p&gt;
&lt;h3&gt;Tip 4 - Disable rules you really disagree to&lt;/h3&gt;
&lt;p&gt;Rules you really don&amp;#39;t want to check can be disabled using the StyleCopSettingsEditor. How this can be done is explained in &lt;a target="_blank" href="http://bloggingabout.net/blogs/jschreuder/archive/2008/07/29/have-your-c-coding-style-analysed-by-microsoft-part-2.aspx"&gt;this blog post&lt;/a&gt;. I disabled a number of them. I also included a number of overrides to the check for hungarian notation. For example, I have boolean variable names&amp;nbsp;like isValid and isCompliant. StyleCop used to warn me about using hungarian notation in these cases, whereas I&amp;#39;m not. You can add the &amp;#39;&lt;strong&gt;is&amp;#39;&lt;/strong&gt; part in the Hungarian tab of the StyleCopSettingsEditor and it will no longer warn you about this.&lt;/p&gt;
&lt;h3&gt;Tip 5 - Re-Align the source before you start&lt;/h3&gt;
&lt;p&gt;Select all the code using Ctrl-A, then press Ctrl-K followed by F. Visual Studio will re-align much of the code. This automatically eliminates a number of errors found by StyleCop.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=472229" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>Version 4.3 of Microsoft StyleCop available</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/08/21/new-version-of-microsoft-stylecop-available.aspx" /><id>/blogs/jschreuder/archive/2008/08/21/new-version-of-microsoft-stylecop-available.aspx</id><published>2008-08-21T06:45:00Z</published><updated>2008-08-21T06:45:00Z</updated><content type="html">&lt;p&gt;A new version of &lt;a target="_blank" href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&amp;amp;ReleaseId=1425"&gt;StyleCop&lt;/a&gt;&amp;nbsp;was made available only a few days ago, so I downloaded it and installed it. One thing I had to correct after installation was the Settings.SourceAnalysis file. Because of the name change to StyleCop, the extension of the settings file was also changed. But after that, I was back in business. One of the first things you notice is that the results are now shown as warnings in the standard errors and warnings list. And there are more changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A separate help file is available that explains the rules and shows how violations can be solved&lt;/li&gt;
&lt;li&gt;A number of bug have been fixed&lt;/li&gt;
&lt;li&gt;New rules, including a rule to check if Using directives are sorted, in line with the Visual Studio 2008 Organize Usings functionality&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another announcement on the &lt;a target="_blank" href="http://blogs.msdn.com/sourceanalysis/"&gt;StyleCop Teamblog&lt;/a&gt; suggested that they will be releasing SDK documentation to allow you to add your own rules to the tool. This is of course interesting if you have additional rules on top of the ones already available.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been using the tool for some weeks now and I really like the consistency in code style which is now slowly emerging in my projects. Where I thought I was using a consistent style in my own code, I was pointed out by StyleCop that in fact I wasn&amp;#39;t. But that&amp;#39;s all changing now.&lt;/p&gt;
&lt;p&gt;You can &lt;a target="_blank" href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&amp;amp;ReleaseId=1425"&gt;download the new version of StyleCop here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=472227" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>Sandcastle now on CodePlex </title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/08/04/sandcastle-now-on-codeplex.aspx" /><id>/blogs/jschreuder/archive/2008/08/04/sandcastle-now-on-codeplex.aspx</id><published>2008-08-04T06:47:00Z</published><updated>2008-08-04T06:47:00Z</updated><content type="html">&lt;p&gt;The &lt;a target="_blank" href="http://blogs.msdn.com/sandcastle"&gt;Sandcastle&lt;/a&gt; project, Microsoft&amp;#39;s tools to generate documentation from your well-documented code, is now available on CodePlex. That was already the case, but until about&amp;nbsp;2 month&amp;#39;s ago, that was without the source code. You can now download Sandcastle including the source code from CodePlex. &lt;/p&gt;
&lt;p&gt;You can find the related information about this decision &lt;a target="_blank" href="http://blogs.msdn.com/sandcastle/archive/2008/07/02/sandcastle-source-code-published-in-codeplex.aspx"&gt;here&lt;/a&gt;. And you can find the project in Codeplex &lt;a target="_blank" href="http://www.codeplex.com/Sandcastle"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=470349" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Sandcastle" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Sandcastle/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /></entry><entry><title>Need help with Crystal Reports? Look here!</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/07/30/need-help-with-crystal-reports-look-here.aspx" /><id>/blogs/jschreuder/archive/2008/07/30/need-help-with-crystal-reports-look-here.aspx</id><published>2008-07-30T11:36:00Z</published><updated>2008-07-30T11:36:00Z</updated><content type="html">&lt;p&gt;Because I blog about &lt;a target="_blank" href="http://bloggingabout.net/blogs/jschreuder/archive/tags/Crystal+Reports/default.aspx"&gt;Crystal Reports&lt;/a&gt; occasionally, and created a &lt;a target="_blank" href="http://www.codeproject.com/KB/cs/CrystalHelper.aspx"&gt;helper class&lt;/a&gt; to assist in integrating it into .Net applications, I get a lot of questions from people that have problems running their reports. Especially in production environments after they deploy the reports. Unfortunately, I&amp;#39;m not a Crystal Expert. I use it in my applications but that&amp;#39;s how far it goes. I don&amp;#39;t have all the answers people might want. &lt;/p&gt;
&lt;p&gt;But I do know where you can find information about Crystal and where you do find answers to any problems you might have. I created a blog post a few weeks ago to sum up a number of resources that can help you find answers to almost all of your Crystal Reports issues. &lt;a target="_blank" href="http://bloggingabout.net/blogs/jschreuder/archive/2008/07/09/sap-is-annoying-me.aspx"&gt;Click here to read that post&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=469910" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Articles" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Articles/default.aspx" /><category term="Crystal Reports" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Crystal+Reports/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /><category term=".Net Do's &amp;amp; Don'ts" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/.Net+Do_2700_s+_2600_amp_3B00_+Don_2700_ts/default.aspx" /></entry><entry><title>Have your C# coding style analysed by Microsoft, part 2</title><link rel="alternate" type="text/html" href="/blogs/jschreuder/archive/2008/07/29/have-your-c-coding-style-analysed-by-microsoft-part-2.aspx" /><id>/blogs/jschreuder/archive/2008/07/29/have-your-c-coding-style-analysed-by-microsoft-part-2.aspx</id><published>2008-07-29T13:21:00Z</published><updated>2008-07-29T13:21:00Z</updated><content type="html">&lt;p&gt;Just as a small update on the use of &lt;a target="_blank" href="http://blogs.msdn.com/sourceanalysis"&gt;&lt;span style="color:#006ff7;"&gt;StyleCop&lt;/span&gt;&lt;/a&gt;. I disagreed with some of the rules, like having to use spaces rather than tabs. It&amp;#39;s not really an annoying rule, the only thing about it is that you have to agree on using spaces or tabs and then stick to it.&lt;/p&gt;
&lt;p&gt;But still, I found out you can tune StyleCop to your needs. When you go the folder where the application is installed (on my machine C:\Program Files\Microsoft StyleCop 4.3) you will see a small application named StyleCopSettingsEditor.exe. Using that tool you can switch the rules supplied by the tool on or off. From a command prompt simply run the following command line:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="font-size:9pt;background:#f5f5f5;overflow:auto;width:100%;color:black;font-family:Courier New;border:#cccccc 1pt solid;padding:1pt;"&gt;
&lt;pre style="margin:0px;"&gt;StyleCopSettingsEditor.exe Settings.StyleCop&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;You will then see the following user interface:&lt;/p&gt;
&lt;p&gt;&lt;img width="555" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jschreuder/StyleCop.jpg" height="575" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Using this interface, you can simply select which rules are appropriate in your projects.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=469818" width="1" height="1"&gt;</content><author><name>Jan Schreuder</name><uri>http://bloggingabout.net/members/Jan-Schreuder/default.aspx</uri></author><category term="Tools" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Tools/default.aspx" /><category term="General" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/General/default.aspx" /><category term="Code inspections" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/Code+inspections/default.aspx" /><category term="C#" scheme="http://bloggingabout.net/blogs/jschreuder/archive/tags/C_2300_/default.aspx" /></entry></feed>