<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Paulo Morgado : Tools</title><link>http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx</link><description>Tags: Tools</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Typemock Is Launching The ASP.NET Bundle – Get Free Licenses</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/05/18/typemock-is-launching-the-asp-net-bundle-get-free-licenses.aspx</link><pubDate>Mon, 18 May 2009 22:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692642</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1692642</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1692642</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2009/05/18/typemock-is-launching-the-asp-net-bundle-get-free-licenses.aspx#comments</comments><description>&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Typemock&lt;/a&gt; is launching a new product for ASP.NET developers – the &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; - and for the launch they are giving out &lt;strong&gt;FREE licenses&lt;/strong&gt; to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both Typemock &lt;a title="Typemock Isolator" href="http://cli.gs/TypemockIsolator" target="_blank"&gt;Isolator&lt;/a&gt; and &lt;a title="Ivonna - ASP.NET Unit Testing Tool" href="http://cli.gs/Ivonna" target="_blank"&gt;Ivonna&lt;/a&gt;, the ASP.NET Isolator add-on, for a discounted price.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;ASP.NET Bundle launch giveaway:&lt;/strong&gt; &lt;br /&gt;For the ASP.NET Bundle launch Typemock are giving away free licenses to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;How do I get the free license?&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Are you a blogger, webmaster, or internet columnist? Get your free license by helping&amp;nbsp;Typemock launch&amp;nbsp;their new ASP.NET Bundle, the ultimate ASP.NET unit testing solution.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Post the text below on your blog (as is, with links) and &lt;a href="mailto:asp@typemock.com"&gt;tell them about it&lt;/a&gt; . If you are in the first 60 to mail us after posting, your license will be on its way!&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you have an ASP.NET dedicated blog, you&amp;#39;ll get a license automatically (even if more than 60 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;8 bloggers will also get an additional 2 licenses (each) to give away / raffle to their readers or friends.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;A few simple requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;div align="justify"&gt;You must own a website, blog space or internet column, older than 2 months, or get permission from the owner of such a site.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;div align="justify"&gt;Your post must include the text below (including the links) between *Begin* and *End*.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;*Begin*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;&lt;a href="http://www.typemock.com/" target="_blank"&gt;Unit Testing&lt;/a&gt; ASP.NET? &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt; has never been this easy.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Typemock is launching a new product for ASP.NET developers – the &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; - and for the launch will be giving out &lt;strong&gt;FREE licenses&lt;/strong&gt; to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both &lt;a href="http://www.typemock.com/" target="_blank"&gt;Typemock Isolator&lt;/a&gt;, a &lt;a href="http://www.typemock.com/" target="_blank"&gt;unit test&lt;/a&gt; tool and &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;Ivonna&lt;/a&gt;, the Isolator add-on for &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt;, for a bargain price.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Typemock Isolator is a leading &lt;a href="http://www.typemock.com/" target="_blank"&gt;.NET unit testing&lt;/a&gt; tool (C# and VB.NET) for many ‘hard to test’ technologies such as &lt;a href="http://typemock.com/sharepointpage.php" target="_blank"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;MVC&lt;/a&gt;, &lt;a href="http://www.typemock.com/wcfpage.php" target="_blank"&gt;WCF&lt;/a&gt;, WPF, &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;Silverlight&lt;/a&gt; and more. Note that for &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;unit testing Silverlight&lt;/a&gt; there is an open source Isolator add-on called &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;SilverUnit&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;The first 60 bloggers who will blog this text in their blog and &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;tell us about it&lt;/a&gt;, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET &lt;strong&gt;dedicated&lt;/strong&gt; blog, you&amp;#39;ll get a license automatically (even if more than 60 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Also 8 bloggers will get an &lt;strong&gt;additional 2 licenses&lt;/strong&gt; (each) to give away to their readers / friends.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Go ahead, click the following link for &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;more information&lt;/a&gt; on how to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;*End*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Once you post this in your site, just drop them a line at &lt;a href="mailto:asp@typemock.com"&gt;asp@typemock.com&lt;/a&gt; with your name and the post URL to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Hurry up – this offer is limited to the first 60 bloggers, or to ASP.NET dedicated bloggers who will post this in the first week.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Make sure to follow their &lt;a title="The Typemock Inseider - The Official Typemock Blog, by the Typemock developers" href="http://cli.gs/TypemockInsiderBlog" target="_blank"&gt;Blog&lt;/a&gt;, &lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Site&lt;/a&gt; or &lt;a title="Typemock Twitter" href="http://cli.gs/TypemockTwitter" target="_blank"&gt;Twitter&lt;/a&gt; for updates on this event.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;a title="Unit Test Today! Get Typemock Isolator!" href="http://www.typemock.com/cart.php?p=Commercial&amp;amp;maint=on&amp;amp;quantity=1&amp;amp;referrer=485128" target="_blank"&gt;&lt;img alt="Unit Test Today! Get Typemock Isolator!" src="https://secure.plimus.com//developers//485128/Typemock_button_blue.jpg" /&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=1692642" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Help Typemock Launch Its New Visual Basic .NET Friendly API And You Might Get A Free License</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/01/13/help-typemock-launch-its-new-visual-basic-net-friendly-api-and-you-might-get-a-free-license.aspx</link><pubDate>Tue, 13 Jan 2009 21:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661503</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1661503</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1661503</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2009/01/13/help-typemock-launch-its-new-visual-basic-net-friendly-api-and-you-might-get-a-free-license.aspx#comments</comments><description>&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Typemock&lt;/a&gt; is announcing today a new version of Typemock Isolator (5.2).&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;One of the coolest features in the new version is the inclusion of a new &lt;a title="Unit Testing VB.NET" href="http://cli.gs/1DbBzH"&gt;VB .NET unit testing API&lt;/a&gt;. This &amp;#39;VB friendly&amp;#39; API was designed and written in VB.NET, for VB.NET developers. It uses the strengths of the VB.NET language to allow easy and intuitive use of the isolation API, for easier unit tests on any piece of .NET code.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you are you a blogger, webmaster, or internet columnist, you can get your free personal license by helping Typemock launch their new 5.2 version for Isolator - the best tool to unit test VB.NET applications.&lt;/p&gt;
&lt;p align="justify"&gt;Although this version is targeted to unit test VB.NET applications, &lt;a title="Visual C#" href="http://cli.gs/vcsharp" target="_blank"&gt;C#&lt;/a&gt; applications with unit tests built using &lt;a title="Microsoft Visual Studio" href="http://cli.gs/vstudio" target="_blank"&gt;Visual Studio&lt;/a&gt; 2005 can also benefit from this API.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;How can you get the free license?&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Post the text below on your blog (as is, with links) and &lt;a href="mailto:vb@typemock.com" target="_blank"&gt;tell them about it&lt;/a&gt; . If you are in the first 25 to mail them after posting, your license will be on its way!&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you have a &lt;strong&gt;VB.NET dedicated blog&lt;/strong&gt;, you&amp;#39;ll get a license automatically (even if more than 25 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;A few simple requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;You must own a website, blog space or internet column, older than 2 months, or get permission from the owner of such a site. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Your post must include the text below (including the links) between &lt;strong&gt;*Begin*&lt;/strong&gt; and &lt;strong&gt;*End*&lt;/strong&gt;. &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;_&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;*Begin*&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;Programming Visual Basic&lt;/a&gt; applications?&lt;/p&gt;
&lt;p&gt;Typemock have released a new version of their &lt;a href="http://www.typemock.com/?utm_source=hp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;unit testing&lt;/a&gt; tool, Typemock Isolator 5.2. &lt;br /&gt;This version includes a new friendly &lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;VB.NET&lt;/a&gt; API which makes Isolator the best Isolation tool for &lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;unit testing A Visual Basic (VB) .NET application&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Isolator now allows unit testing in VB or C# for many ‘hard to test’ technologies such as &lt;a href="http://typemock.com/sharepointpage.php?utm_source=spp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;SharePoint&lt;/a&gt;, ASP.NET MVC, partial support for Silverlight, WPF, LINQ, WF, Entity Framework, &lt;a href="http://www.typemock.com/wcfpage.php?utm_source=wcfp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;WCF unit testing&lt;/a&gt; and more.&lt;/p&gt;
&lt;p&gt;Note that the first 25 bloggers who blog this text in their blog and tell us about it, will get a &lt;strong&gt;Free Full Isolator license&lt;/strong&gt; (worth $139). If you post this in a &lt;strong&gt;VB.NET dedicated blog&lt;/strong&gt;, you&amp;#39;ll get a license automatically (even if more than 25 submit) during the first week of this announcement.&lt;/p&gt;
&lt;p&gt;Go ahead, click the following link for &lt;a href="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html?utm_source=vb_blog&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvbblog"&gt;more information&lt;/a&gt; on how to get your free license.&lt;/p&gt;
&lt;p&gt;_&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;*End*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Once you post this in your site, just drop them a line at &lt;a href="mailto:vb@typemock.com"&gt;vb@typemock.com&lt;/a&gt; with your name and the post URL to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Hurry up – this offer is limited to the first 25 general bloggers, or to VB.NET dedicated bloggers who will post this in the first week.&lt;/p&gt;
&lt;p align="justify"&gt;--&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This is an offer from &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; as announced at &lt;a title="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html" href="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html"&gt;http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html&lt;/a&gt;. I’m just a fan.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1661503" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualBasic/default.aspx">VisualBasic</category></item><item><title>Saved By The .NET Framework Cleanup Tool – Again!</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/12/22/saved-by-the-net-framework-cleanup-tool-again.aspx</link><pubDate>Mon, 22 Dec 2008 00:23:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657413</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1657413</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1657413</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/12/22/saved-by-the-net-framework-cleanup-tool-again.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;I don’t know what’s wrong with my &lt;a title="Windows XP" href="http://www.microsoft.com/windows/windows-xp/" target="_blank"&gt;XP&lt;/a&gt; system (besides the fact that I’m still using it) but I couldn’t install &lt;a title=".NET Framework Developer Center" href="http://msdn.microsoft.com/netframework/" target="_blank"&gt;.NET&lt;/a&gt; 3.5 without removing .NET 2.0 and now I couldn’t install apply SP1 without removing .NET 3.0 and 3.5.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Fortunately, I was rescued by &lt;a title="Aaron Stebner&amp;#39;s WebLog - Thoughts about setup and deployment issues, XNA, Windows Media Center, the .NET Framework and Visual Studio" href="http://blogs.msdn.com/astebner/" target="_blank"&gt;Aaron Stebner&lt;/a&gt;’s &lt;a title=".NET Framework cleanup Tool" href="http://astebner.sts.winisp.net/Tools/dotnetfx_cleanup_tool.zip"&gt;.NET Framework cleanup Tool&lt;/a&gt; – both times.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Kudos Aaron!&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657413" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category></item><item><title>Typemock Isolator 5.1 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/typemock-isolator-5-1-released.aspx</link><pubDate>Mon, 06 Oct 2008 22:41:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649936</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1649936</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1649936</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/typemock-isolator-5-1-released.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;This major version adds static method support and non-public method faking to the AAA API. Check out the &lt;a title="Typemock Isolator 5.1 Released!" href="http://blog.typemock.com/2008/09/typemock-isolator-51-released.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;I don’t like the reflective approach to testing private methods.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;With the new additions to the AAA API, testing this class:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MyClass
&lt;/span&gt;{
    &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Public()
    {
        &lt;span style="color:blue;"&gt;return this&lt;/span&gt;.Private();
    }

    &lt;span style="color:blue;"&gt;private string &lt;/span&gt;Private()
    {
        &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;();
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;can be done like this:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;PrivateTest()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;fake = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fake.Public()).CallOriginal();

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.NonPublic.WhenCalled(fake, &lt;span style="color:#a31515;"&gt;&amp;quot;Private&amp;quot;&lt;/span&gt;).WillReturn(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;);

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;fakePublic = fake.Public();

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;, fakePublic);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fake.Public());

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.NonPublic.WasCalled(fake, &lt;span style="color:#a31515;"&gt;&amp;quot;Private&amp;quot;&lt;/span&gt;);
}&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;I would like it better if it was like this:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;PrivateTest()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;fake = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#2b91af;"&gt;MyClass_Accessor &lt;/span&gt;fakeAccessor = &lt;span style="color:#2b91af;"&gt;MyClass_Accessor&lt;/span&gt;.AttachShadow(fake);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fakeAccessor.Private()).WillReturn(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fake.Public()).CallOriginal();

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;fakePublic = fake.Public();

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;, fakePublic);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fake.Public());

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fakeAccessor.Private());
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;Looks almost the same but there aren’t any method names in the test code.&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;They were able to do it for Natural Mocks. I’m sure they will eventually do it for AAA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649936" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Faking Output Parameters With Typemock Isolator</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/faking-output-parameters-with-typemock-isolator.aspx</link><pubDate>Mon, 06 Oct 2008 20:51:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649919</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1649919</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1649919</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/faking-output-parameters-with-typemock-isolator.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Some time ago I was &lt;a title="Unit Testing and Mock Frameworks" href="http://msmvps.com/blogs/paulomorgado/archive/2007/02/17/unit-testing-and-mock-frameworks.aspx#1648003" target="_blank"&gt;asked&lt;/a&gt; if it was possible to fake output parameters with &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;&lt;/a&gt;&lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Typemock Isolator&lt;/a&gt;.&lt;/a&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;It’s actually very easy using any of the APIs.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Given this class:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;&lt;span style="color:#0000ff;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MyClass
&lt;/span&gt;{
    &lt;span style="color:#0000ff;"&gt;public bool &lt;/span&gt;MyMethod(&lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input, &lt;span style="color:#0000ff;"&gt;out int &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out double &lt;/span&gt;output2)
    {
        &lt;span style="color:#0000ff;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;();
    }
}&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using the new AAA API, it&amp;#39;s as clean as:&lt;/p&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;TestMethodIsolated()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:blue;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:blue;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; target.MyMethod(input, &lt;span style="color:blue;"&gt;out &lt;/span&gt;expectedOutput1, &lt;span style="color:blue;"&gt;out &lt;/span&gt;expectedOutput2)).WillReturn(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);

    &lt;span style="color:blue;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:blue;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:blue;"&gt;bool &lt;/span&gt;result = target.MyMethod(input, &lt;span style="color:blue;"&gt;out &lt;/span&gt;output1, &lt;span style="color:blue;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:blue;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;Using Natural Mocks, it&amp;#39;s as easy as:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:#0000ff;"&gt;public void &lt;/span&gt;TestMethodNatural()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.CreateMockedObject&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    &lt;span style="color:#0000ff;"&gt;using &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;RecordExpectations &lt;/span&gt;recorder = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.StartRecording())
    {
        recorder.ExpectAndReturn(target.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;expectedOutput1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;expectedOutput2), &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;);
    }

    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:#0000ff;"&gt;bool &lt;/span&gt;result = target.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;It&amp;#39;s also possible using Reflective Mocks:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:#0000ff;"&gt;public void &lt;/span&gt;TestMethodReflective()
{
    &lt;span style="color:#2b91af;"&gt;MockObject&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt; targetMock = &lt;span style="color:#2b91af;"&gt;MockManager&lt;/span&gt;.MockObject&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    targetMock.ExpectAndReturn(
        &lt;span style="color:#a31515;"&gt;&amp;quot;MyMethod&amp;quot;&lt;/span&gt;,
        &lt;span style="color:#0000ff;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;DynamicReturnValue&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;delegate&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;[] parameters, &lt;span style="color:#0000ff;"&gt;object &lt;/span&gt;context)
            {
                parameters[1] = expectedOutput1;
                parameters[2] = expectedOutput2;
                &lt;span style="color:#0000ff;"&gt;return true&lt;/span&gt;;
            }));

    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:#0000ff;"&gt;bool &lt;/span&gt;result = targetMock.Object.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;All you have to do is choose which one you like most.&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649919" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Clone Detective For Visual Studio</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/28/clone-detective-for-visual-studio.aspx</link><pubDate>Thu, 28 Aug 2008 22:41:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646133</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1646133</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1646133</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/28/clone-detective-for-visual-studio.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="center"&gt;&lt;a title="Clone Detective for Visual Studio" href="http://www.codeplex.com/CloneDetectiveVS" target="_blank"&gt;&lt;img title="Clone Detective for Visual Studio" alt="Clone Detective for Visual Studio" src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=CloneDetectiveVS&amp;amp;DownloadId=41494" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;a title="Clone Detective for Visual Studio" href="http://www.codeplex.com/CloneDetectiveVS" target="_blank"&gt;Clone Detective&lt;/a&gt; is a tool that integrates with &lt;a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/" target="_blank"&gt;Visual Studio&lt;/a&gt; and uses the &lt;a title="ConQAT (Continuous Quality Assessment Toolkit)" href="http://conqat.cs.tum.edu/" target="_blank"&gt;ConQAT&lt;/a&gt; (&lt;strong&gt;Con&lt;/strong&gt;tinuous &lt;strong&gt;Q&lt;/strong&gt;uality &lt;strong&gt;A&lt;/strong&gt;ssessment &lt;strong&gt;T&lt;/strong&gt;oolkit) to analyze &lt;a title="Visual C#" href="http://msdn.microsoft.com/vcsharp/" target="_blank"&gt;C#&lt;/a&gt; projects and search for duplicated source code.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Watch the &lt;a title="Clone Detective Videos" href="http://www.codeplex.com/CloneDetectiveVS/Wiki/View.aspx?title=Videos" target="_blank"&gt;videos&lt;/a&gt; and see if this is the tool you were looking for.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646133" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/CodePlex/default.aspx">CodePlex</category></item><item><title>StyleCop 4.3 Is Out</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/21/stylecop-4-3-is-out.aspx</link><pubDate>Wed, 20 Aug 2008 23:36:21 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645290</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645290</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645290</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/21/stylecop-4-3-is-out.aspx#comments</comments><description>&lt;a&gt;&lt;/a&gt;  &lt;p&gt;The &lt;a title="Microsoft StyleCop" href="http://blogs.msdn.com/sourceanalysis/" target="_blank"&gt;StyleCop team&lt;/a&gt; &lt;a title="StyleCop 4.3 Is Released" href="http://blogs.msdn.com/sourceanalysis/archive/2008/08/19/stylecop-4-3-is-released.aspx" target="_blank"&gt;announced&lt;/a&gt; the release of a version 4.3 of the &lt;a title="Microsoft StyleCop" href="http://code.msdn.microsoft.com/sourceanalysis" target="_blank"&gt;StyleCop tool&lt;/a&gt;. You can get it from &lt;a title="StyleCop 4.3" href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&amp;amp;ReleaseId=1425" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;On this version there are some bug fixes, new rules and documentation.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;Also in this version, the list of errors and warnings goes to the &lt;strong&gt;Errors List&lt;/strong&gt; window like with the compilers. I whish that the errors and warnings would also be sent to the &lt;strong&gt;Output&lt;/strong&gt; window.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;SDK documentation on how to author custom rules and integrate the tool with custom build environments is expected soon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645290" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/CodingConventions/default.aspx">CodingConventions</category></item><item><title>Lutz Roeder’s .NET Reflector Is Now Red Gate’s .NET Reflector</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/lutz-roeder-s-net-reflector-is-now-red-gate-s-net-reflector.aspx</link><pubDate>Wed, 20 Aug 2008 22:34:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645285</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645285</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645285</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/lutz-roeder-s-net-reflector-is-now-red-gate-s-net-reflector.aspx#comments</comments><description>&lt;a&gt;&lt;/a&gt;  &lt;p&gt;Let’s face it, if you don’t know &lt;a title=".NET Framework Developer Center" href="http://msdn.microsoft.com/netframework/" target="_blank"&gt;.NET&lt;/a&gt; Reflector, you can never claim to be a .NET developer.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;Today &lt;a title="redgate - ingeniously simple tools" href="http://www.red-gate.com/" target="_blank"&gt;Red Gate&lt;/a&gt; announced the acquisition of Lutz Roeder’s .NET Reflector.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;On &lt;a title=".NET Reflector" href="http://reflector.red-gate.com/" target="_blank"&gt;.NET Reflector&lt;/a&gt;’s page, Red Gate states that “will continue to &lt;strong&gt;maintain a free version for the benefit of the community&lt;/strong&gt;”.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;You can read an &lt;a title="The Future of Reflector" href="http://www.simple-talk.com/opinion/opinion-pieces/the-future-of-reflector-/" target="_blank"&gt;interview&lt;/a&gt; with Lutz Roeder and James Moore (general manager of .NET Developer Tools at Red Gate) at &lt;a title="simple-talk - SQL Server and .NET put simply" href="http://www.simple-talk.com/" target="_blank"&gt;simple-talk&lt;/a&gt;.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;James doesn’t know yet how to improve &lt;a title="Reflector for .NET" href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;Reflector&lt;/a&gt;, but I do. Reflector needs a major improvement on UI usability and performance. Let’s see if I can come up with a list:&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;ul&gt;   &lt;li&gt;For me, search as you type is not a good idea as it is in Reflector. &lt;/li&gt;    &lt;li&gt;Still in the search theme, search as you type would be nice for the active code window. &lt;/li&gt;    &lt;li&gt;I cannot understand why changing any of the options fires a total repaint and lost of the view of the active code item. &lt;/li&gt;    &lt;li&gt;Settings like code, documentation and number formatting should possible to change on the fly with a simple toolbar click. &lt;/li&gt; &lt;/ul&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;I’m sure Red Gate is more than capable of taking good care of .NET Reflector.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645285" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/redgate/default.aspx">redgate</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Reflector/default.aspx">Reflector</category></item><item><title>Typemock Racer Alpha Is Out</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-racer-alpha-is-out.aspx</link><pubDate>Wed, 20 Aug 2008 21:50:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645279</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645279</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645279</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-racer-alpha-is-out.aspx#comments</comments><description>&lt;a&gt;&lt;/a&gt;  &lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has released an alpha version of its newest product: &lt;a title="Quick Start Guide – Typemock Racer" href="http://www.typemock.com/community/viewtopic.php?topic=908&amp;amp;forum=18" target="_blank"&gt;Typemock Racer&lt;/a&gt;.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;Typemock Racer&lt;/strong&gt; is the tool that uses dynamic and static analysis to find deadlocks in .NET code that had been previously &lt;a title="A sneak Preview of Typemock Racer : Thread Deadlock Finder" href="http://weblogs.asp.net/rosherove/archive/2008/07/08/a-sneak-preview-of-typemock-racer.aspx" target="_blank"&gt;announced&lt;/a&gt; by &lt;a title="ISerializable - Roy Osherove&amp;#39;s Blog" href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Osherove&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645279" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Isolator 5.0 Is Out With Its New AAA API</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-isolator-5-0-is-out-with-its-new-aaa-api.aspx</link><pubDate>Wed, 20 Aug 2008 21:33:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645278</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645278</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645278</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-isolator-5-0-is-out-with-its-new-aaa-api.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has released version 5.0 of its unit testing tool: &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Isolator&lt;/a&gt;. Check out the &lt;a title="Typemock Isolator 5.0 Released" href="http://blog.typemock.com/2008/08/typemock-isolator-50-released.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This new version comes with a new API: &lt;strong&gt;A&lt;/strong&gt;rrange&lt;strong&gt; A&lt;/strong&gt;ct &lt;strong&gt;A&lt;/strong&gt;ssert:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="Isolator AAA API - The Basics" href="http://blog.typemock.com/2008/08/isolator-aaa-api-basics.html" target="_blank"&gt;Isolator AAA API - The Basics&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="Isolator AAA: Creating Fakes" href="http://blog.typemock.com/2008/08/isolator-aaa-creating-fakes.html" target="_blank"&gt;Isolator AAA: Creating Fakes&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I’ll have to say that I liked &lt;strong&gt;Isolator&lt;/strong&gt; better over &lt;strong&gt;Isolate&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Also new in this version is the inclusion of the help file in the installation package.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645278" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>VHD Resizer: Tool For Resizing VHD Files</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/17/vhd-resizer-tool-for-resizing-vhd-files.aspx</link><pubDate>Sun, 17 Aug 2008 22:13:50 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644897</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1644897</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1644897</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/17/vhd-resizer-tool-for-resizing-vhd-files.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;While installing &lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt; 2008 in a &lt;a title="Microsoft Virtual PC" href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx" target="_blank"&gt;Virtual PC&lt;/a&gt; virtual machine I run out of disk space.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Looking around, I found this great tool: &lt;a title="VHD Resizer" href="http://vmtoolkit.com/files/folders/converters/entry87.aspx" target="_blank"&gt;VHD Resizer&lt;/a&gt;. Registration is required to download the tool.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644897" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VirtualPC/default.aspx">VirtualPC</category></item><item><title>Testing With Multiple Versions Of Internet Explorer</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/06/23/testing-with-multiple-versions-of-internet-explorer.aspx</link><pubDate>Mon, 23 Jun 2008 00:00:35 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1636834</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1636834</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1636834</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/06/23/testing-with-multiple-versions-of-internet-explorer.aspx#comments</comments><description>&lt;p&gt;On a previous &lt;a title="DebugBar, Companion.JS And IETester" href="http://msmvps.com/blogs/paulomorgado/archive/2008/06/11/debugbar-companion-js-and-ietester.aspx" target="_blank"&gt;post&lt;/a&gt; I mentioned &lt;a title="My DebugBar | IETester / HomePage" href="http://www.my-debugbar.com/wiki/IETester/HomePage" target="_blank"&gt;IETester&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a title="Notícias de Tecnologia para profissionais de TI" href="http://ojmoura.spaces.live.com/" target="_blank"&gt;Jorge Moura&lt;/a&gt; &lt;a title="Multiplo Internet Browsers" href="http://ojmoura.spaces.live.com/blog/cns!C82D0115CE3980B!357.entry" target="_blank"&gt;mentioned&lt;/a&gt; &lt;a title="TredoSoft | Every little program helps!" href="http://tredosoft.com/" target="_blank"&gt;TredoSoft&lt;/a&gt;’s &lt;a title="Install multiple versions of IE on your PC | TredoSoft" href="http://tredosoft.com/Multiple_IE" target="_blank"&gt;MultipleIEs&lt;/a&gt; and a &lt;a title="List of web browsers" href="http://en.wikipedia.org/wiki/List_of_web_browsers" target="_blank"&gt;list of web browsers&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1636834" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/InternetExplorer/default.aspx">InternetExplorer</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category></item><item><title>DebugBar, Companion.JS And IETester</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/06/11/debugbar-companion-js-and-ietester.aspx</link><pubDate>Tue, 10 Jun 2008 23:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1633753</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1633753</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1633753</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/06/11/debugbar-companion-js-and-ietester.aspx#comments</comments><description>&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;Some days ago a colleague of mine pointed out to me this tool (&lt;a title="My DebugBar | IETester / HomePage" href="http://www.my-debugbar.com/wiki/IETester/HomePage" target="_blank"&gt;IETester&lt;/a&gt;) that allows testing the different rendering and JavaScript engines of &lt;a title="Internet Explorer" href="http://www.microsoft.com/ie" target="_blank"&gt;Internet Explorer&lt;/a&gt; (5.5, 6, 7 and 8beta1) side by side with the installed version.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;I haven’t tested &lt;a title="My DebugBar | IETester / HomePage" href="http://www.my-debugbar.com/wiki/IETester/HomePage" target="_blank"&gt;IETester&lt;/a&gt; yet, but I found two other tools in the site that caught my attention: &lt;a title="DebugBar - IE extension for web developer : DOM inspector, Javascript debugger, HTTP headers viewer, Cookies viewer" href="http://www.debugbar.com/" target="_blank"&gt;DebugBar&lt;/a&gt; and &lt;a title="My DebugBar | Companion.JS / HomePage" href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage" target="_blank"&gt;Companion.JS&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;a title="DebugBar - IE extension for web developer : DOM inspector, Javascript debugger, HTTP headers viewer, Cookies viewer" href="http://www.debugbar.com/" target="_blank"&gt;DebugBar&lt;/a&gt; is like other tools I use [&lt;a title="Developer Tools for Internet Explorer" href="http://msmvps.com/blogs/paulomorgado/archive/2007/02/18/developer-tools-for-internet-explorer.aspx" target="_blank"&gt;^&lt;/a&gt;] with a few differences. &lt;a title="DebugBar - IE extension for web developer : DOM inspector, Javascript debugger, HTTP headers viewer, Cookies viewer" href="http://www.debugbar.com/" target="_blank"&gt;DebugBar&lt;/a&gt; is an explorer bar (and docks on the left side of &lt;a title="Internet Explorer" href="http://www.microsoft.com/ie" target="_blank"&gt;IE&lt;/a&gt;) and can’t be undocked but has a JavaScript console and tracks only the HTTP/HTTPS traffic that belongs to the visible web browser tab (&lt;a title="Internet Explorer" href="http://www.microsoft.com/ie" target="_blank"&gt;IE&lt;/a&gt; 7). &lt;a title="DebugBar - IE extension for web developer : DOM inspector, Javascript debugger, HTTP headers viewer, Cookies viewer" href="http://www.debugbar.com/" target="_blank"&gt;DebugBar&lt;/a&gt; can also spy on other instances of &lt;a title="Internet Explorer" href="http://www.microsoft.com/ie" target="_blank"&gt;IE&lt;/a&gt;&amp;nbsp;like &lt;strong&gt;Document Explorer&lt;/strong&gt; or &lt;a title="FeedDemon For Windows" href="http://www.newsgator.com/Individuals/FeedDemon/" target="_blank"&gt;&lt;font color="#006ff7"&gt;FeedDemon&lt;/font&gt;&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;a title="My DebugBar | Companion.JS / HomePage" href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage" target="_blank"&gt;Companion.JS&lt;/a&gt; is a &lt;a title="FireBug - Web Development Evolved" href="http://getfirebug.com/" target="_blank"&gt;Firebug&lt;/a&gt;-like tool and was the one that liked the most because it gave me something that I hadn’t: something that kills those annoying scripting error dialogs.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;Both &lt;a title="DebugBar - IE extension for web developer : DOM inspector, Javascript debugger, HTTP headers viewer, Cookies viewer" href="http://www.debugbar.com/" target="_blank"&gt;DebugBar&lt;/a&gt; and &lt;a title="My DebugBar | Companion.JS / HomePage" href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage" target="_blank"&gt;Companion.JS&lt;/a&gt; claim to be JavaScript debuggers but I couldn’t find any way for setting breakpoints or running scripts step by step. Probably because I have &lt;a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/" target="_blank"&gt;Visual Studio&lt;/a&gt; installed on this machine.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1633753" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/InternetExplorer/default.aspx">InternetExplorer</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Training/default.aspx">Training</category></item><item><title>Microsoft Source Analysis for C# (aka StyleCop)</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/06/05/microsoft-source-analysis-for-c-aka-stylecop.aspx</link><pubDate>Wed, 04 Jun 2008 23:12:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1631418</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1631418</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1631418</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/06/05/microsoft-source-analysis-for-c-aka-stylecop.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;I’ve learned from a &lt;a title="Hugo Ribeiro" href="http://www.arquitecturadesoftware.org/blogs/hugoribeiro/default.aspx" target="_blank"&gt;fellow&lt;/a&gt; &lt;a title="Grupo de Arquitectura de Software Português" href="http://www.arquitecturadesoftware.org/" target="_blank"&gt;GASP&lt;/a&gt;er of the release of &lt;a title="Announcing the release of Microsoft Source Analysis for C#" href="http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-the-release-of-microsoft-source-analysis.aspx" target="_blank"&gt;Microsoft Source Analysis for C# (aka StyleCop)&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It’s still a work in progress but it’s already very useful.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1631418" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/CodingConventions/default.aspx">CodingConventions</category></item><item><title>Typemock Developers Community Site Updated</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/29/typemock-developers-community-site-updated.aspx</link><pubDate>Wed, 28 May 2008 23:54:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1628463</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1628463</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1628463</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/29/typemock-developers-community-site-updated.aspx#comments</comments><description>&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has updated its &lt;a title="Typemock Developers Community" href="http://www.typemock.com/Community.php" target="_blank"&gt;Developers Community&lt;/a&gt; Site with new sections.&lt;/p&gt;  &lt;p align="justify"&gt;Besides the &lt;a title="Typemock Forum" href="http://www.typemock.com/community/index.php" target="_blank"&gt;forums&lt;/a&gt;, there&amp;#39;s a new &lt;a title="Typemock Add-ons" href="http://www.typemock.com/ecosystems.php" target="_blank"&gt;add-ons&lt;/a&gt; page where anyone can share her/his tools or snippets (I guess I&amp;#39;ll have to brush up my &lt;a title="Typemock Snippets For Visual Studio" href="http://msmvps.com/blogs/paulomorgado/archive/2008/01/13/typemock-snippets-for-visual-studio.aspx" target="_blank"&gt;Typemock Snippets For Visual Studio&lt;/a&gt; to add there) and an &lt;a title="Typemock Experts" href="http://www.typemock.com/experts.html" target="_blank"&gt;experts&lt;/a&gt; page (guess who&amp;#39;s there).&lt;/p&gt;  &lt;p style="text-align:center;"&gt;&lt;a title="Typemock fan" href="http://www.typemock.com/?id=1"&gt;&lt;img alt="Typemock fan" src="http://www.typemock.com/images/mockfan.gif" /&gt;&lt;/a&gt; &lt;a title="Meet the experts" href="http://www.typemock.com/experts.html"&gt;&lt;img alt="Meet the experts" src="http://www.typemock.com/images/typemockexpert.gif" /&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=1628463" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Community/default.aspx">Community</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Internet Explorer vs. FireFox</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/25/internet-explorer-vs-firefox.aspx</link><pubDate>Sun, 25 May 2008 22:32:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1627280</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1627280</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1627280</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/25/internet-explorer-vs-firefox.aspx#comments</comments><description>&lt;p&gt;Until recent I had never used &lt;a title="FireFox web browser | Faster, more secure &amp;amp; customizable" href="http://www.firefox.com" target="_blank"&gt;FireFox&lt;/a&gt; (FF) because &lt;a title="Internet Explorer" href="http://www.microsoft.com/ie"&gt;Internet Explorer&lt;/a&gt; (IE) was good enough for me.&lt;/p&gt;  &lt;p&gt;I don&amp;#39;t do much web page development and because I own licenses for &lt;a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/" target="_blank"&gt;Visual Studio&lt;/a&gt; (VS), &lt;a title="HTTPWatch" href="http://www.httpwatch.com/" target="_blank"&gt;HTTPWatch&lt;/a&gt; and &lt;a title="IEWatch" href="http://www.iewatch.com/" target="_blank"&gt;IEWatch&lt;/a&gt; (tried the &lt;a title="Internet Explorer Developer Toolbar" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038" target="_blank"&gt;Internet Explorer Developer Toolbar&lt;/a&gt; but it keeps bowing up and killing IE and I&amp;#39;ve seen &lt;a title="Nikhil Kothari&amp;#39;s Weblog" href="http://www.nikhilk.net/" target="_blank"&gt;Nikhil Kothari&lt;/a&gt;&amp;#39;s &lt;a title="Web Development Helper" href="http://projects.nikhilk.net/Projects/WebDevHelper.aspx" target="_blank"&gt;Web Development Helper&lt;/a&gt; installed and doesn&amp;#39;t work well when non US English characters are displayed) I never needed anything else.&lt;/p&gt;  &lt;p&gt;Over the years I&amp;#39;ve seen all the campaigning against IE and promoting FF as a better, more standards compliant, more secure and what else.&lt;/p&gt;  &lt;p&gt;A few days back I had to do some work with ASP.NET validation summary and validators and needed to check if it worked on FF.&lt;/p&gt;  &lt;p&gt;Talk about disappointment:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="FireBug - Web Development Evolved" href="http://getfirebug.com/" target="_blank"&gt;FireBug&lt;/a&gt; is by far no better than the tools I&amp;#39;ve been using.&lt;/li&gt;    &lt;li&gt;FF needs its own proxy configurations - For me, any application running on Windows that needs its own proxy settings it&amp;#39;s just a badly developed application.&lt;/li&gt;    &lt;li&gt;(I&amp;#39;m sure I&amp;#39;d find much more if I used it.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;IE isn&amp;#39;t a good developer tool yet (not even in IE8 at this time [&lt;a title="What&amp;#39;s New in Internet Explorer 8 - Developer Tools" href="http://msdn.microsoft.com/library/cc288472.aspx#tools" target="_blank"&gt;^&lt;/a&gt;]) and it should have been for a long time. Or, at least, VS should have better support HTML and CSS debugging.&lt;/p&gt;  &lt;p&gt;But, on the other hand, Windows Internet Explorer is just another application built on top of the &lt;a title="WebBrowser Object" href="http://msdn.microsoft.com/library/aa752085.aspx" target="_blank"&gt;Web Browser Control&lt;/a&gt;[&lt;a title="IWebBrowser2 Interface" href="http://msdn.microsoft.com/library/aa752127.aspx" target="_blank"&gt;^&lt;/a&gt;] (which is part of the IE installation, but can be used by itself). You can build any Windows application that uses a Web Browser Control (I&amp;#39;ve built more than one). Looks like the same is not as simple with FF [&lt;a title="Can Mozilla Be Easily Embedded in a Windows App?" href="http://nick.typepad.com/blog/2008/03/can-mozilla-be.html" target="_blank"&gt;^&lt;/a&gt;].&lt;/p&gt;  &lt;p&gt;I don&amp;#39;t intend to start a web browser war. I just wanted to state my disappointment. I guess FF fans set my expectation too high.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1627280" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/InternetExplorer/default.aspx">InternetExplorer</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/FireFox/default.aspx">FireFox</category></item><item><title>.NET Reflector 5.1.2.0 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/net-reflector-5-1-2-0-released.aspx</link><pubDate>Sun, 18 May 2008 23:38:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1624207</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1624207</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1624207</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/net-reflector-5-1-2-0-released.aspx#comments</comments><description>&lt;p&gt;Get it from &lt;a title="Reflector for .NET" href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1624207" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Reflector/default.aspx">Reflector</category></item><item><title>Typemock Isolator v4.2.4 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/typemock-isolator-v4-2-4-released.aspx</link><pubDate>Sun, 18 May 2008 23:37:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1624206</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1624206</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1624206</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/typemock-isolator-v4-2-4-released.aspx#comments</comments><description>&lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; released version 4.2.4 of its &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Isolator mock framework&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can check out the release notes in &lt;a title="The Typemock Insider blog" href="http://blog.typemock.com/2008/05/typemock-isolator-v424-released.html" target="_blank"&gt;The Typemock Insider blog&lt;/a&gt; and download it from the &lt;a title="Typemock Isolator Download page" href="http://www.typemock.com/Downloads.php" target="_blank"&gt;Typemock Isolator Download page&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1624206" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Rendering ASP.NET Validators And Validation Summary Property As HTML Attributes</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/13/rendering-asp-net-validators-and-validation-summary-property-as-html-attributes.aspx</link><pubDate>Tue, 13 May 2008 00:34:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1621419</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1621419</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1621419</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/13/rendering-asp-net-validators-and-validation-summary-property-as-html-attributes.aspx#comments</comments><description>&lt;p&gt;Yesterday I blogged about &lt;a class="" title="The Cause Of ASP.NET Validators And Validation Summary Slowness" href="http://weblogs.asp.net/paulomorgado/archive/2008/05/12/the-cause-of-asp-net-validators-and-validation-summary-slowness.aspx" target="_blank"&gt;the cause of ASP.NET validators and validation summary slowness&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At that point I wasn&amp;#39;t aware of the existence of the &lt;a title="xhtmlConformance Element (ASP.NET Settings Schema)" href="http://msdn.microsoft.com/library/ms228268.aspx" target="_blank"&gt;XHTML conformance configuration&lt;/a&gt; (thanks &lt;a title="Nuno Faro Gomes" href="http://nunogomes.net/" target="_blank"&gt;Nuno&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;With the XHTML conformance configuration set to &lt;strong&gt;Legacy&lt;/strong&gt;, the rendering of controls works like it worked in ASP.NET 1.1.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1621419" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/HTML/default.aspx">HTML</category></item><item><title>The Cause Of ASP.NET Validators And Validation Summary Slowness</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/12/the-cause-of-asp-net-validators-and-validation-summary-slowness.aspx</link><pubDate>Sun, 11 May 2008 23:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1620018</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1620018</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1620018</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/12/the-cause-of-asp-net-validators-and-validation-summary-slowness.aspx#comments</comments><description>&lt;p align="justify"&gt;When building &lt;a title="ASP.NET Developer Center" href="http://msdn.microsoft.com/asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt; pages, if you use too many validators and validation summaries your pages can become very slow. Have you ever wondered why?&lt;/p&gt;
&lt;p align="justify"&gt;Lets build a simple page web page with a few validators. Something like this:&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="212" alt="Web page with validation" src="http://weblogs.asp.net/blogs/paulomorgado/WindowsLiveWriter/VisualStudi.51SP1BetaAvailableToDownload_14B70/WebPageWithValidators_thumb_2.png" width="217" border="0" /&gt; &lt;/p&gt;
&lt;p&gt;The page is composed of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2 &lt;a title="TextBox Class" href="http://msdn.microsoft.com/library/system.web.ui.webcontrols.textbox.aspx" target="_blank"&gt;TextBox&lt;/a&gt;es &lt;/li&gt;
&lt;li&gt;1 &lt;a title="RequiredFieldValidator Class" href="http://msdn.microsoft.com/library/system.web.ui.webcontrols.RequiredFieldValidator.aspx" target="_blank"&gt;RequiredFieldValidator&lt;/a&gt; for each &lt;strong&gt;TextBox&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;1 &lt;a title="RangeValidator Class" href="http://msdn.microsoft.com/library/system.web.ui.webcontrols.RangeValidator.aspx" target="_blank"&gt;RangeValidator&lt;/a&gt; for each &lt;strong&gt;TextBox&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;1 &lt;a title="CompareValidator Class" href="http://msdn.microsoft.com/library/system.web.ui.webcontrols.CompareValidator.aspx" target="_blank"&gt;CompareValidator&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;1 &lt;a title="ValidationSummary Class" href="http://msdn.microsoft.com/library/system.web.ui.webcontrols.validationsummary.aspx" target="_blank"&gt;ValidationSummary&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;1 &lt;a href="http://msdn.microsoft.com/library/system.web.ui.webcontrols" target="_blank"&gt;Button&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p align="justify"&gt;ASP.NET renders the &lt;strong&gt;ValidationSummary&lt;/strong&gt; as a &lt;strong&gt;DIV&lt;/strong&gt; and each validator as a &lt;strong&gt;SPAN&lt;/strong&gt; and uses &lt;a title="ClientScriptManager.RegisterExpandoAttribute Method" href="http://msdn.microsoft.com/library/system.web.ui.clientscriptmanager.registerexpandoattribute.aspx" target="_blank"&gt;expando attributes&lt;/a&gt; to add properties to those elements.&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a title="ClientScriptManager.RegisterExpandoAttribute Method (String, String, String)" href="http://msdn.microsoft.com/library/ms153122.aspx" target="_blank"&gt;According to the documentation&lt;/a&gt;, expando attributes are set dynamically from JavaScript to preserve &lt;a title="XHTML2 Working Group Home Page" href="http://www.w3.org/MarkUp/" target="_blank"&gt;XHTML&lt;/a&gt; compatibility for the rendered control&amp;#39;s markup.&lt;/p&gt;
&lt;p align="justify"&gt;The problem is that all that JavaScript makes the HTML document larger and slower to execute than if the properties were rendered in HTML as attributes of the elements.&lt;/p&gt;
&lt;p align="justify"&gt;For such a small page, the difference in size approaches 2k bytes. If you add a few dozen validators to he page, the slowness is noticeable.&lt;/p&gt;
&lt;p align="justify"&gt;I&amp;#39;m all in favor of strict standards and standards compliance, but in this case, I wish &lt;strong&gt;XHTML&lt;/strong&gt; would allow arbitrary attributes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1620018" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/HTML/default.aspx">HTML</category></item></channel></rss>