<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">C#, VS Deployment and all geek talk</title><subtitle type="html">Talk C# by Vipul Patel
</subtitle><id>http://msmvps.com/blogs/vipul/atom.aspx</id><link rel="alternate" type="text/html" href="http://msmvps.com/blogs/vipul/default.aspx" /><link rel="self" type="application/atom+xml" href="http://msmvps.com/blogs/vipul/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.40407.4157">Community Server</generator><updated>2006-01-20T16:30:00Z</updated><entry><title>Blog moved to http://blogs.msdn.com/vipul</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/12/05/blog-moved-to-http-blogs-msdn-com-vipul.aspx" /><id>/blogs/vipul/archive/2006/12/05/blog-moved-to-http-blogs-msdn-com-vipul.aspx</id><published>2006-12-05T20:12:00Z</published><updated>2006-12-05T20:12:00Z</updated><content type="html">&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;It has been six months since I joined microsoft. I have moved this blog to a new location. &lt;A href="http://blogs.msdn.com/vipul"&gt;http://blogs.msdn.com/vipul&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Please update your bookmarks to the new URL. Link to RSS feed : &lt;A href="http://blogs.msdn.com/vipul/rss.xml"&gt;http://blogs.msdn.com/vipul/rss.xml&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=378366" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author></entry><entry><title>My Faq on "hashtable lookups for struct types" is published  at http://blogs.msdn.com/CSharpFaq</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/03/21/How-can-I-speed-up-hashtable-lookups-for-struct-types.aspx" /><id>/blogs/vipul/archive/2006/03/21/How-can-I-speed-up-hashtable-lookups-for-struct-types.aspx</id><published>2006-03-21T15:48:00Z</published><updated>2006-03-21T15:48:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check out &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/archive/2006/03/20/556192.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://blogs.msdn.com/csharpfaq/archive/2006/03/20/556192.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;for a FAQ on Hashtable lookup for value types.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=87174" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="SQL2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/SQL2005/default.aspx" /><category term="MVP Activity" scheme="http://msmvps.com/blogs/vipul/archive/tags/MVP+Activity/default.aspx" /><category term="Developer" scheme="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /><category term="How To" scheme="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx" /></entry><entry><title>Public readonly string vs. public readonly property</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/03/17/Readonly-string-and-properties.aspx" /><id>/blogs/vipul/archive/2006/03/17/Readonly-string-and-properties.aspx</id><published>2006-03-18T00:53:00Z</published><updated>2006-03-18T00:53:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;EricGu (Microsoft) has made an excellant post on readonly strings and read-only properties. Check it out &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/ericgu/archive/2006/03/17/553934.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://blogs.msdn.com/ericgu/archive/2006/03/17/553934.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=86740" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author></entry><entry><title>My articles on "Anonymous types" is up</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/03/08/Anonymous-Types-article.aspx" /><id>/blogs/vipul/archive/2006/03/08/Anonymous-Types-article.aspx</id><published>2006-03-08T16:54:00Z</published><updated>2006-03-08T16:54:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check out &lt;/FONT&gt;&lt;A href="http://www.developer.com/net/csharp/article.php/3589916"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.developer.com/net/csharp/article.php/3589916&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;for my article on "&lt;STRONG&gt;Anonymous Types&lt;/STRONG&gt;", This cool new feature coming in C# 3.0 is surely going to go places.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Codeguru also contains the same article at &lt;A href="http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c11551/"&gt;http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c11551/&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Next stop,&lt;STRONG&gt; extension me&lt;/STRONG&gt;thods.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85747" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Developer" scheme="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx" /><category term="Beta Products" scheme="http://msmvps.com/blogs/vipul/archive/tags/Beta+Products/default.aspx" /></entry><entry><title>Guidelines on clean up code</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/03/07/Guideline-on-cleaning-resources-in-managed-code.aspx" /><id>/blogs/vipul/archive/2006/03/07/Guideline-on-cleaning-resources-in-managed-code.aspx</id><published>2006-03-07T19:14:00Z</published><updated>2006-03-07T19:14:00Z</updated><content type="html">Many a times, we use the catch block inside the try catch block for our clean up code. 
&lt;P class=MsoNormal&gt;
&lt;P class=MsoNormal&gt;Something like
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;FONT color=#008000&gt;// Do something&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;catch&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#008000&gt;// work failed, clean up code here&lt;/FONT&gt;&lt;BR&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Rather than the above approach of using the catch block, it would be nicer to use the finally block, something like&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;bool&lt;/FONT&gt; workSuccessful = false;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;try&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;//&amp;nbsp;do some work&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; workSuccessful = true;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;finally&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; if(!workSuccessfull)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;// cleanup code here.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;There is elegance in the latter method and I would certainly recommend that approach, if you cannot use "&lt;STRONG&gt;&lt;FONT face="Courier New" color=#008000&gt;using&lt;/FONT&gt;&lt;/STRONG&gt;". See below for details.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;PS&lt;/B&gt;: Use this approach only if better alternatives are not available. One of the automatic cleanup approaches available with C# is the &lt;B&gt;&lt;SPAN&gt;using&lt;/SPAN&gt;&lt;/B&gt; construct.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Something like,&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;using (TextReader tr = new StreamReader("FileName"))&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; // do my work here.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;The “&lt;B&gt;&lt;SPAN&gt;using&lt;/SPAN&gt;&lt;/B&gt;” construct automatically clean up the unmanaged resource (&lt;SPAN&gt;TextReader&lt;/SPAN&gt;) once the block has completed execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;In the event that you cannot use "&lt;SPAN&gt;using&lt;/SPAN&gt;", the try-finally approach would be the best way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85669" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Developer" scheme="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /><category term="How To" scheme="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx" /></entry><entry><title>When is a static constructor in C# called?</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx" /><id>/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx</id><published>2006-02-21T04:19:00Z</published><updated>2006-02-21T04:19:00Z</updated><content type="html">Confused about static constructors in C#, Read this post......(&lt;a href="http://msmvps.com/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=84343" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /></entry><entry><title> Sql Server 2005 blocking quiz</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/20/Sql-Server-2005-blocking-quiz.aspx" /><id>/blogs/vipul/archive/2006/02/20/Sql-Server-2005-blocking-quiz.aspx</id><published>2006-02-20T20:52:00Z</published><updated>2006-02-20T20:52:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Check out &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/psheill/archive/2006/02/20/535614.aspx"&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;http://blogs.msdn.com/psheill/archive/2006/02/20/535614.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&amp;nbsp;for a fantastic quiz on&lt;STRONG&gt; SQL Server 2005&lt;/STRONG&gt; blocking and verify if you have got your fundamentals right.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Good job, &lt;STRONG&gt;psheill&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=84314" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="SQL2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/SQL2005/default.aspx" /></entry><entry><title>Office live site goes live</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/15/Office-live-Beta-begins.aspx" /><id>/blogs/vipul/archive/2006/02/15/Office-live-Beta-begins.aspx</id><published>2006-02-16T01:49:00Z</published><updated>2006-02-16T01:49:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Office Live (still in beta) website &lt;/FONT&gt;&lt;A href="http://officelive.microsoft.com/"&gt;&lt;FONT face=Tahoma size=2&gt;http://officelive.microsoft.com/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;went live today.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;So what does Office live have for me?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Three categories of services:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;1. &lt;STRONG&gt;Microsoft Office Live Basic&lt;/STRONG&gt;: Easy to use web site design tool (ala Frontpage online), Free domain name and hosting , 5 personalized email accounts(Office live mail), good data storage and data transfer facilities, and best of all web site traffic analysis and reporting tools, with online support. And all this for &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;free&lt;/FONT&gt;&lt;/STRONG&gt;, till the beta period.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Web hosting details:&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Free hosting &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;30 MB of Web site storage &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;10 GB of bandwidth &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;No setup or hidden fees &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Online customer support &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Daily backup (data retained for 30 days)&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;2. &lt;STRONG&gt;Microsoft Office Live Collaboration&lt;/STRONG&gt;: Shared sites(remember Sharepoint), on demand company applications (like shared calenders, Employee directory, expenses, jobs, hiring, Customer management, sales and marketing), and 50 MB of disk space, backed by enhanced data protection.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;3.&lt;STRONG&gt; Microsoft Office Live Essentials&lt;/STRONG&gt;: Microsoft Office Live Basic + Sharepoint + 50 email accounts + Microsoft project.. -- Complete tools to manage your business online... One stop solution for all your needs. (Free domain name and hosting, Easy to use web site design tool (ala Frontpage online).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;So lets get started.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=83821" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="Microsoft Live Services" scheme="http://msmvps.com/blogs/vipul/archive/tags/Microsoft+Live+Services/default.aspx" /></entry><entry><title>Application which does not create an entry in Add/Remove Programs</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/13/Prevent-entry-in-Add-Remove-Programs-List.aspx" /><id>/blogs/vipul/archive/2006/02/13/Prevent-entry-in-Add-Remove-Programs-List.aspx</id><published>2006-02-13T18:39:00Z</published><updated>2006-02-13T18:39:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Do you want your application not in appear in&lt;EM&gt; Add/Remove Programs&lt;/EM&gt; list?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;If yes, &lt;FONT color=#008000&gt;&lt;STRONG&gt;ARPSYSTEMCOMPONENT&lt;/STRONG&gt;&lt;/FONT&gt; property of the &lt;EM&gt;Windows Installer SDK&lt;/EM&gt; helps.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Setting this property to 1 prevents the installed application to be displayed in the &lt;EM&gt;Add/Remove Programs&lt;/EM&gt; List.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;More information on this key is available at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/arpsystemcomponent.asp"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/arpsystemcomponent.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;On a side note, i fyou want a quick access to &lt;EM&gt;Add/Remove Programs &lt;/EM&gt;List, type appwiz.cpl at your Start &amp;gt; Run prompt.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=83427" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Visual Studio Service Pack WebSite</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/08/Visual-Studio-Service-Pack-WebSite.aspx" /><id>/blogs/vipul/archive/2006/02/08/Visual-Studio-Service-Pack-WebSite.aspx</id><published>2006-02-09T01:51:00Z</published><updated>2006-02-09T01:51:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio.NET Service Packs are due this year, but their site is up already (The site clearly mentions it is still in process)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vstudio/support/servicing/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs03/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio 2003 Service Pack 1 ships Q2, 2006 &lt;/FONT&gt;&lt;/A&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs05/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio 2005 Service Pack 1 ships Q3, 2006&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82946" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="ASP.NET 2.0" scheme="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx" /><category term="Developer" scheme="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx" /><category term="Microsoft" scheme="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx" /></entry><entry><title>.NET Tip - Getting logged in user name in ASP.NET web application</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/07/Show-Logged-In-User-ASPNET.aspx" /><id>/blogs/vipul/archive/2006/02/07/Show-Logged-In-User-ASPNET.aspx</id><published>2006-02-07T22:30:00Z</published><updated>2006-02-07T22:30:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Frequently we desire to autopopulate some fields on our web form with the current logged in username and domain.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;How to get that information?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Well, &lt;FONT color=#006400&gt;&lt;STRONG&gt;User.Identity.Name&lt;/STRONG&gt;&lt;/FONT&gt; comes to the rescue.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Set the text property of the field to &lt;FONT color=#008000&gt;&lt;STRONG&gt;User.Identity.Name&lt;/STRONG&gt;&lt;/FONT&gt; and it will show the logged-in username prefixed by the domain information&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82806" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="ASP.NET 2.0" scheme="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Want to work for Microsoft? Send me your resume</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/02/06/Want-to-work-for-Microsoft.aspx" /><id>/blogs/vipul/archive/2006/02/06/Want-to-work-for-Microsoft.aspx</id><published>2006-02-07T01:02:00Z</published><updated>2006-02-07T01:02:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;I contract with Microsoft through &lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Volt&lt;/STRONG&gt;&lt;/FONT&gt; (&lt;/FONT&gt;&lt;A href="http://www.volt.com/"&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;www.volt.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;) and currently there are lot of contract positions available. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;If you are interested to work with the best brains in the world and love developing challenging products used by millions in the world, send me your resume at &lt;/FONT&gt;&lt;A href="mailto:vipul_d_patel@hotmail.com"&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;vipul_d_patel@hotmail.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt; . These are strictly contract positions. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&lt;FONT color=#006400&gt;&lt;STRONG&gt;US Citizen, Green card or H1 visa required&lt;/STRONG&gt;.&lt;/FONT&gt; My company Volt does not sponsor new H1, but will willingly transfer your existing H1.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Looking forward to receiving your resumes. Just send me your resume and I will try to find a position bets suited to your skills.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;If you have any questions, feel free to send me an email&amp;nbsp; and I will reply to you as soon as possible.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82709" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author></entry><entry><title>Internet Explorer Beta2 now available</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/31/IE7-Beta-2.aspx" /><id>/blogs/vipul/archive/2006/01/31/IE7-Beta-2.aspx</id><published>2006-01-31T21:03:00Z</published><updated>2006-01-31T21:03:00Z</updated><content type="html">Check it out.

http://www.microsoft.com/windows/ie/ie7/default.mspx
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82192" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="Beta Products" scheme="http://msmvps.com/blogs/vipul/archive/tags/Beta+Products/default.aspx" /></entry><entry><title>Visual Studio Tip of the day - Refactoring - Extracting method</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Extract-Method.aspx" /><id>/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Extract-Method.aspx</id><published>2006-01-28T00:39:00Z</published><updated>2006-01-28T00:39:00Z</updated><content type="html">&lt;P&gt;You notice that you have a chuck of code which could easily be transitioned to a new function. How tdo you do that? &lt;/P&gt;
&lt;P&gt;Again, Visual Studio Refactoring menu comes to the rescue.&lt;/P&gt;
&lt;P&gt;Suppose you have the following code in your function&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; Myfunc()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do some processing here.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;We realize that code containing &lt;FONT color=#008000&gt;&lt;STRONG&gt;Console.Writeline&lt;/STRONG&gt;&lt;/FONT&gt; is replicated. Select one set of the Console.Writeline instructions and right click &amp;gt; Refactor &amp;gt; Extract Method...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Type the name of the new function you want to create containing the selected lines and Click OK.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;A new method containing the selected lines is created. So your code will look like&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; Myfunc()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewMethod();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do some processing here.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; NewMethod()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Keyboard shortcut: &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;R&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;M&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;U&gt;Cavaet&lt;/U&gt;&lt;/STRONG&gt;: You will have to delete the second set manually as currently VS editor is not smart enough to replace all the occurances of the selected lines. Maybe in the next version we can get that feature.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81965" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Visual Studio Tip of the day - Refactoring - Changing variable names</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Renaming-Variables-or-Function.aspx" /><id>/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Renaming-Variables-or-Function.aspx</id><published>2006-01-28T00:31:00Z</published><updated>2006-01-28T00:31:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Did you mistype a variable/function/property only to realize it in the code review and are frustrated over the time you will need to spend to correct it across the whole source code?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio 2005 has a new feature called refactoring by which you can rename a property/function/variable at one location and the same will be replicated across all the location where the property/function/variable is referenced.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;To do that, select the property/variable/function you desire to rename and right click and select Refactor &amp;gt; Rename. A Rename window will appear and you can select whether you want to preview the reference changes, or you want to change the entity in the comments also.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Keyboard shortcut: &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;R&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;R&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81964" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>VB gets a LINQ equivalent</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/27/VB-goes-LINQ.aspx" /><id>/blogs/vipul/archive/2006/01/27/VB-goes-LINQ.aspx</id><published>2006-01-28T00:26:00Z</published><updated>2006-01-28T00:26:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;With the release of the LINQ CTP for Visual Basic, VB matches C# tooth and nail (purely from the LINQ perspective)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;CTP version features Intellisense, Dlinq support, support for XML literals, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Download link: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vbasic/future"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vbasic/future&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/netframework/future/linq/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/netframework/future/linq/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81963" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Visual Basic" scheme="http://msmvps.com/blogs/vipul/archive/tags/Visual+Basic/default.aspx" /></entry><entry><title>Is my webservice really a webservice </title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/27/Is-my-webservice-a-webservice.aspx" /><id>/blogs/vipul/archive/2006/01/27/Is-my-webservice-a-webservice.aspx</id><published>2006-01-28T00:22:00Z</published><updated>2006-01-28T00:22:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;How to tell if your webservice is really a webservice which will interact seamlessly with external entities?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Well, keep the following in mind&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;1.&amp;nbsp;Uses WSDL.&lt;/STRONG&gt;&amp;nbsp; A Web Service should expose its service contract using WSDL.&amp;nbsp; If it can’t give you a WSDL document, it’s probably just XML over HTTP…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;2.&amp;nbsp;Uses SOAP.&lt;/STRONG&gt;&amp;nbsp; All messages sent from and received by the Web Service must use SOAP formatting.&amp;nbsp; If it’s not using SOAP it’s probably just XML over HTTP…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;3.&amp;nbsp;Uses XSD.&lt;/STRONG&gt;&amp;nbsp; All data types in the SOAP payload must be XSD compliant.&amp;nbsp; No platform native types are allowed.&amp;nbsp; If it’s not using XSD it’s probably just XML over HTTP…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;4.&amp;nbsp;Uses XML.&lt;/STRONG&gt;&amp;nbsp; The underlying messages should of course be formatted using XML.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;5.&amp;nbsp;No Arbitrary Binary Data.&lt;/STRONG&gt;&amp;nbsp; The message payload should 7 bit ASCII and should contain no embedded binary blobs.&amp;nbsp; Any binary data passed over a Web Service should be&amp;nbsp;sent using either SwA, DIME or MTOM (preferably MTOM).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;6.&amp;nbsp;Transport is likely to be HTTP.&lt;/STRONG&gt;&amp;nbsp; Although not a requirement, the majority of Web Services today use HTTP as the transport.&amp;nbsp; Compliant Web Services should definitely work over HTTP.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;7.&amp;nbsp;Discovery can be through UDDI.&lt;/STRONG&gt;&amp;nbsp; Again although not a requirement, it should be possible to host the Web Service endpoint using UDDI.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;8.&amp;nbsp;Agreed Versions of Specifications.&lt;/STRONG&gt;&amp;nbsp; The versions of the above specifications (WSDL, SOAP, XSD, XML, HTTP, UDDI) should be in line with the latest version of the&amp;nbsp;WS-I Basic Profile (&lt;A href="http://www.ws-i.org/"&gt;&lt;FONT color=#355ea0&gt;http://www.ws-i.org&lt;/FONT&gt;&lt;/A&gt;)&amp;nbsp;– to ensure Web Service compliance between vendors.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;9.&amp;nbsp;Operations should be Document Style.&lt;/STRONG&gt;&amp;nbsp; Operations to/from a Web Service should be Document/Message Style (e.g. &lt;FONT face="Courier New"&gt;SendOrder(order o)&lt;/FONT&gt;).&amp;nbsp; RPC style should be avoided (e.g. &lt;FONT face="Courier New"&gt;SetOrderLine1(orderId id)&lt;/FONT&gt;).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;10.&amp;nbsp;Should be compliant with WS-*.&lt;/STRONG&gt;&amp;nbsp; Compliant Web Services should be able to accept WS-* payloads and extensions for Security, Reliability and Transactions (although not all stacks today support these yet).&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;Source: &lt;A href="http://blogs.msdn.com/smguest/archive/2006/01/26/518020.aspx"&gt;http://blogs.msdn.com/smguest/archive/2006/01/26/518020.aspx&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81961" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="Web Services" scheme="http://msmvps.com/blogs/vipul/archive/tags/Web+Services/default.aspx" /></entry><entry><title>How to: Determining programmatically if DLL is registered</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/27/Is-DLL-Registered.aspx" /><id>/blogs/vipul/archive/2006/01/27/Is-DLL-Registered.aspx</id><published>2006-01-28T00:02:00Z</published><updated>2006-01-28T00:02:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here is a C# code snippet to determine if a particular DLL is registered or not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;[DllImport("kernel32")]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT&gt; &lt;SPAN&gt;extern&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;int&lt;/SPAN&gt;&lt;/FONT&gt; LoadLibrary(&lt;SPAN&gt;string&lt;/SPAN&gt; lpLibFileName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;[DllImport("kernel32")]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;extern&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;bool&lt;/SPAN&gt; FreeLibrary(&lt;SPAN&gt;int&lt;/SPAN&gt; hLibModule);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;bool&lt;/SPAN&gt; IsDllRegistered(&lt;SPAN&gt;string&lt;/SPAN&gt; DllName)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; libId = LoadLibrary(DllName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (libId&amp;gt;0) FreeLibrary(libId);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; (libId&amp;gt;0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Source: &lt;A href="http://blogs.msdn.com/asanto/archive/2006/01/22/516011.aspx"&gt;http://blogs.msdn.com/asanto&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81958" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /><category term="How To" scheme="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx" /></entry><entry><title>Visual Studio Tip of the day - Format Document</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/24/Visual-Studio-Format-Document.aspx" /><id>/blogs/vipul/archive/2006/01/24/Visual-Studio-Format-Document.aspx</id><published>2006-01-24T22:35:00Z</published><updated>2006-01-24T22:35:00Z</updated><content type="html">&lt;P class=MsoNormal&gt;&lt;FONT face=Tahoma size=2&gt;Time and again we write code and our brackets get out of visual sync, i.e. they no longer appear as a coherent set even though they may be.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Tahoma size=2&gt;In Visual Studio, there is a feature known as Format Document which will align the code systematically.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Tahoma size=2&gt;It can be invoked by the key combination of &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;K&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;D&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Tahoma size=2&gt;Suppose you code looks like&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;namespace&lt;/SPAN&gt;&lt;SPAN&gt; LogFileCheck&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;class&lt;/SPAN&gt; &lt;SPAN&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt; Main(&lt;SPAN&gt;string&lt;/SPAN&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;TextReader&lt;/SPAN&gt; sr = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;StreamReader&lt;/SPAN&gt;(&lt;SPAN&gt;"mb20051116_05000600_BAYTRARPT03_k.msn.com_w3svc10000.log"&lt;/SPAN&gt;, &lt;SPAN&gt;Encoding&lt;/SPAN&gt;.UTF8);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;TextWriter&lt;/SPAN&gt; writesr = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;StreamWriter&lt;/SPAN&gt;(&lt;SPAN&gt;"mb20051116_05000600_BAYTRARPT03_k.msn.com_w3svc10000_csResult.log"&lt;/SPAN&gt;, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;,&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;Encoding&lt;/SPAN&gt;.UTF8);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;while&lt;/SPAN&gt; (sr.Peek()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;!= -1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; line = sr.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (&lt;SPAN&gt;Regex&lt;/SPAN&gt;.IsMatch(line, &lt;SPAN&gt;"&amp;amp;di=78"&lt;/SPAN&gt;) &amp;amp;&amp;amp; &lt;SPAN&gt;Regex&lt;/SPAN&gt;.IsMatch(line, &lt;SPAN&gt;@"([^,]*,){19}66"&lt;/SPAN&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writesr.WriteLine(line);}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;sr.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writesr.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Tahoma&gt;Press the magic keys &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;K&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;D&lt;/FONT&gt;&lt;/STRONG&gt; and voila, all your code looks pretty organized as under:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;namespace&lt;/SPAN&gt;&lt;SPAN&gt; LogFileCheck&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;class&lt;/SPAN&gt; &lt;SPAN&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt; Main(&lt;SPAN&gt;string&lt;/SPAN&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;TextReader&lt;/SPAN&gt; sr = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;StreamReader&lt;/SPAN&gt;(&lt;SPAN&gt;"mb20051116_05000600_BAYTRARPT03_k.msn.com_w3svc10000.log"&lt;/SPAN&gt;, &lt;SPAN&gt;Encoding&lt;/SPAN&gt;.UTF8);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;TextWriter&lt;/SPAN&gt; writesr = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;StreamWriter&lt;/SPAN&gt;(&lt;SPAN&gt;"mb20051116_05000600_BAYTRARPT03_k.msn.com_w3svc10000_csResult.log"&lt;/SPAN&gt;, &lt;SPAN&gt;false&lt;/SPAN&gt;, &lt;SPAN&gt;Encoding&lt;/SPAN&gt;.UTF8);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;while&lt;/SPAN&gt; (sr.Peek() != -1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; line = sr.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (&lt;SPAN&gt;Regex&lt;/SPAN&gt;.IsMatch(line, &lt;SPAN&gt;"&amp;amp;di=78"&lt;/SPAN&gt;) &amp;amp;&amp;amp; &lt;SPAN&gt;Regex&lt;/SPAN&gt;.IsMatch(line, &lt;SPAN&gt;@"([^,]*,){19}66"&lt;/SPAN&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writesr.WriteLine(line);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;sr.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writesr.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;Want to format only a small selected section of the dirty code?&amp;nbsp; Select the area you want to format and press &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;K&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;F&lt;/FONT&gt;&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81777" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Visual Studio 2005 - A Guided Tour</title><link rel="alternate" type="text/html" href="/blogs/vipul/archive/2006/01/20/Visual-Studio-Guided-tour.aspx" /><id>/blogs/vipul/archive/2006/01/20/Visual-Studio-Guided-tour.aspx</id><published>2006-01-21T00:30:00Z</published><updated>2006-01-21T00:30:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Want to learn more about &lt;STRONG&gt;Visual Studio 2005&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href="http://msdn.microsoft.com/msdnmag"&gt;MSDN magazine &lt;/A&gt;folks have come&amp;nbsp; up with a new issue dedicated solely to the new IDE. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check it out online at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/00/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/msdnmag/issues/06/00/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81553" width="1" height="1"&gt;</content><author><name>vipul</name><uri>http://msmvps.com/members/vipul/default.aspx</uri></author><category term="C#" scheme="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx" /><category term="VS2005" scheme="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx" /><category term="Developer" scheme="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx" /><category term="How To" scheme="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx" /></entry></feed>