<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devintelligence.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">.Net Adventures </title><subtitle type="html">In .Net we trust</subtitle><id>http://devintelligence.com/blogs/netadventures/atom.aspx</id><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/default.aspx" /><link rel="self" type="application/atom+xml" href="http://devintelligence.com/blogs/netadventures/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61025.1">Community Server</generator><updated>2008-02-19T20:49:26Z</updated><entry><title>WPF performance profiling tools</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/30/wpf-performance-profiling-tools.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/30/wpf-performance-profiling-tools.aspx</id><published>2008-04-30T16:20:00Z</published><updated>2008-04-30T16:20:00Z</updated><content type="html">&lt;p&gt;The WPF Performance Suite is a set of performance profiling tools that allow you to analyze the runtime behavior of your WPF application. &lt;/p&gt;  &lt;p&gt;This suite includes the following tools: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Perforator&lt;/b&gt; - for analyzing rendering behavior. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Visual Profiler&lt;/b&gt; - for profiling the use of WPF services, such as layout and event handling, by elements in the visual tree. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Working Set Analyzer&lt;/b&gt; - for analyzing the working set characteristics of your application. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Event Trace&lt;/b&gt; - for analyzing events and generating event log files. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;ETW Trace Viewer&lt;/b&gt; - Record, display, and browse Event Tracing for Windows (ETW) log files in a WPF user-interface format. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The screeshot below is presenting how to Visual Profiler tool looks like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/devintelligence/WPFperformanceprofilingtools_1446D/image.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="368" alt="WPF Performance tool - Visual Profiler" src="http://devintelligence.com/blog-images/devintelligence/WPFperformanceprofilingtools_1446D/image_thumb.png" width="595" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wpf.netfx3.com/files/folders/developer/entry10880.aspx" target="_blank"&gt;Download WPF Performance Suite (x86 version)&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:107dd232-7c62-4e73-9fc5-43384803f714" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Profiler" rel="tag"&gt;Profiler&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1770" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="Freeware" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Freeware/default.aspx" /><category term="WPF" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/WPF/default.aspx" /><category term="XAML" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/XAML/default.aspx" /><category term="vs2008" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/vs2008/default.aspx" /></entry><entry><title>7 free online editors for your asp.net site (part 2)</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/29/7-free-online-editors-for-your-asp-net-site-part-2.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/29/7-free-online-editors-for-your-asp-net-site-part-2.aspx</id><published>2008-04-29T13:41:00Z</published><updated>2008-04-29T13:41:00Z</updated><content type="html">&lt;P&gt;This is second part of a two-part article about free online editors.The first part of article can be found &lt;A href="http://devintelligence.com/blogs/netadventures/archive/2008/04/08/6-free-online-editors-for-your-asp-net-site.aspx" target=_blank&gt;here&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;widgEditor&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;widgEditor is an easily installed, easily customizable WYSIWYG editor for simple content. It replaces existing textareas with an improved editing pane using JavaScript .&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=136 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb.png" width=452 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://code.google.com/p/widgeditor/downloads/list" target=_blank&gt;Download widgEitor&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.themaninblue.com/experiment/widgEditor/" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;JWYSIWYG&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This plugin is an inline content editor to allow editing rich HTML content on the fly.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_3.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=133 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb_3.png" width=331 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://code.google.com/p/jwysiwyg/downloads/detail?name=jwysiwyg-0.3.zip" target=_blank&gt;Download JWYSIWYG&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://projects.bundleweb.com.ar/jWYSIWYG/" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;NicEdit&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;NicEdit is a Lightweight, Cross Platform, Inline Content Editor to allow easy editing of web site content on the fly in the browser.NicEdit Javascript integrates into any site in seconds to make any element/div editable or convert standard textareas to rich text editing.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=140 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb_4.png" width=369 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://nicedit.com/download.php" target=_blank&gt;Download NicEdit&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://nicedit.com/demos.php" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Whizzywig&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;It allows to create rich, formatted text through a web form. It actually creates HTML (or xhtml, if you prefer) .Whizzywig is cross-browser: it is written in Javascript, which will run in nearly all web browsers.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_5.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=166 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb_5.png" width=415 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.unverse.net/whizzywig-download.html" target=_blank&gt;Download Whizzywig&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.unverse.net/wysiwyg.html" target=_blank&gt;Demo&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Yahoo! UI Text Editor&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The Rich Text Editor is a UI control that replaces a standard HTML textarea. It allows for the rich formatting of text content, including common structural treatments like lists, formatting treatments like bold and italic text, and drag-and-drop inclusion and sizing of images. The Rich Text Editor's Toolbar is extensible via a plugin architecture so that advanced implementations can achieve a high degree of customization.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=148 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb_6.png" width=505 border=0&gt;&lt;/A&gt; &lt;/P&gt;&lt;A href="http://developer.yahoo.com/yui/download/" target=_blank&gt;Download Yahoo!UI Text Editor&lt;/A&gt; 
&lt;P&gt;&lt;A href="http://developer.yahoo.com/yui/examples/editor/index.html" target=_blank&gt;Examples&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;markItUp!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;markItUp! is a JavaScript plugin built on the jQuery library. It allows you to turn any textarea into a markup editor. Html, Textile, Wiki Syntax, Markdown, BBcode or even your own Markup system can be easily implemented.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_7.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=139 alt=image src="http://devintelligence.com/blog-images/devintelligence/7freeonlineeditorsforyouras.netsitepart2_2B11/image_thumb_7.png" width=419 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://markitup.jaysalvat.com/downloads/" target=_blank&gt;Download martkUp!&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://markitup.jaysalvat.com/examples/skin2/" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a13ceae4-94c1-4e68-931d-733fbf16f701 style="PADDING-RIGHT:0px;DISPLAY:inline;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/online" rel=tag&gt;online&lt;/A&gt;,&lt;A href="http://technorati.com/tags/editor" rel=tag&gt;editor&lt;/A&gt;,&lt;A href="http://technorati.com/tags/web" rel=tag&gt;web&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1764" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author></entry><entry><title>Explore Silverlight project hierarchy with Silverlight Spy 2</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/23/explore-silverlight-project-hierarchy-with-silverlight-spy-2.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/23/explore-silverlight-project-hierarchy-with-silverlight-spy-2.aspx</id><published>2008-04-23T11:26:00Z</published><updated>2008-04-23T11:26:00Z</updated><content type="html">&lt;p&gt;Use the built-in browser to navigate to a web page. Silverlight Spy will automatically pick up any Silverlight application embedded in the page and display it in the XAML Explorer. The XAML Explorer presents the UI element structure of a Silverlight application. Explore the structure and view and edit the details of the selected UI element in the Details pane. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/devintelligence/ExploreSilverlightprojecthierarchywithSi_BF61/image_3.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="403" alt="image" src="http://devintelligence.com/blog-images/devintelligence/ExploreSilverlightprojecthierarchywithSi_BF61/image_thumb.png" width="504" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Features&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Convenient XAML UI element explorer &lt;/li&gt;    &lt;li&gt;XAML object property grid allows for getting and settings object property values &lt;/li&gt;    &lt;li&gt;Regeneration of XAML based on the UI element structure &lt;/li&gt;    &lt;li&gt;Statistics of used objects &lt;/li&gt;    &lt;li&gt;Statistics of used resources (images, video, fonts, etc.) &lt;/li&gt;    &lt;li&gt;UI element preview &lt;/li&gt;    &lt;li&gt;Extensive search &lt;/li&gt;    &lt;li&gt;Event Monitor &lt;/li&gt;    &lt;li&gt;XAP package inspection &lt;/li&gt;    &lt;li&gt;HTTP monitor &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.firstfloorsoftware.com/SilverlightSpy/Download.aspx" target="_blank"&gt;Download Silverlight Spy 2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note: You must download and register(regsvr32) &lt;a href="http://code.google.com/p/csexwb2/" target="_blank"&gt;csexwb2&lt;/a&gt; component before installing Silverlight Spy 2&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f7b75652-2717-4ce2-bdbe-5613b6e37845" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/silverlight" rel="tag"&gt;silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/spy" rel="tag"&gt;spy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1766" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="Silverlight" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Tag property without inheritance</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/22/tag-property-without-inheritance.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/22/tag-property-without-inheritance.aspx</id><published>2008-04-22T11:20:50Z</published><updated>2008-04-22T11:20:50Z</updated><content type="html">&lt;p&gt;Tag property is very often used to store a data associated with an object. The simple way to add support for Tag property is to create a base class with the Tag property .I don&amp;#8217;t like this solution &amp;#8211; the reason is simple .Sometimes I want to inherit from an existing class that doesn&amp;#8217;t have the Tag property and I can&amp;#8217;t change its source code .In WPF we have dependency properties that can help us in this case.&lt;/p&gt;  &lt;div&gt;   &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;MyControl cnt = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; MyControl();
cnt.SetValue(FrameworkElement.TagProperty, &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Info() );&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;One problem &amp;#8211; we still need to inherit from DependecyObject class. 
  &lt;br /&gt;The helper class below uses extension methods &amp;#8211; to provide the tag functionality for your classes. 

  &lt;br /&gt;Of course, for better performance, you may change the dictionary(and methods) to be more type specific .&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
    &lt;span style="color:#008000;"&gt;/// Implements tag functionality&lt;/span&gt;
    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; TagHelper
    {

        &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// Adds the tag.&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;element&amp;quot;&amp;gt;The element.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;tag&amp;quot;&amp;gt;The tag.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddTag(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; element, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; tag)
        {
            &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (!tags.ContainsKey(element))
            {
                tags.Add(element, tag);
            }
        }

        &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// Removes the tag for the specified element.&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;element&amp;quot;&amp;gt;The element.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; RemoveTag(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; element )
        {
            tags.Remove(element);
        }

        &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// Clears the tags.&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; ClearTags()
        {
            tags.Clear();
        }

        &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// Gets the tag for the specified element.&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;element&amp;quot;&amp;gt;The element.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; Get(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; element)
        {
            &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; tag;
            tags.TryGetValue(element, &lt;span style="color:#0000ff;"&gt;out&lt;/span&gt; tag);

            &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; tag;
        }

        &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt; tags = 
            &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt;(); 
    }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:da563b4c-9f8a-4033-9943-a025a1270467" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/snippet" rel="tag"&gt;snippet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1762" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tips, tricks, code snippets" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tips_2C00_+tricks_2C00_+code+snippets/default.aspx" /><category term="tricks" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/tricks/default.aspx" /><category term="code snippets" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/code+snippets/default.aspx" /><category term="Tips" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tips/default.aspx" /><category term=".Net (c#) 3.5" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net+_2800_c_23002900_+3.5/default.aspx" /></entry><entry><title>Must Have Tool for ASP.NET Developer</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/11/must-have-tool-for-asp-net-developer.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/11/must-have-tool-for-asp-net-developer.aspx</id><published>2008-04-11T14:24:11Z</published><updated>2008-04-11T14:24:11Z</updated><content type="html">&lt;p&gt;NetFXHarmonics DevServer is a web server hosting environment built on .NET 3.5 using WPF, WCF, and LINQ technologies that allows multiple instances of VS-like web servers to run in parallel. NetFXHarmonics DevServer also includes tracing capabilities for monitoring view status code, date/time, URL, POST data , response data, request headers, response headers, as well as parsed ViewState and Control state for both the request and response, visually enhanced HTTP status codes, IP binding modes for both local-only as well as remote access, and easy to use XML configuration. You can trace text specific files like HTML, CSS, JavaScript, JSON, XAML, Text, and SOAP and their content.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/devintelligence/MustHaveToolforASP.NETDeveloper_F50C/image.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="328" alt="image" src="http://devintelligence.com/blog-images/devintelligence/MustHaveToolforASP.NETDeveloper_F50C/image_thumb.png" width="424" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/DevServer" target="_blank"&gt;Download NetFXHarmonics DevServer&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.netfxharmonics.com/2008/04/NetFXHarmonics-DevServer-Released" target="_blank"&gt;DevServer Announcement and Overview&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;[Via &lt;a href="http://www.netfxharmonics.com/2008/04/NetFXHarmonics-DevServer-Released" target="_blank"&gt;David Bet'z Blog&lt;/a&gt;]&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b5fd4eee-4924-4b01-aa17-82979f0b9507" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/asp.NET" rel="tag"&gt;asp.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1751" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="Open Source" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Open+Source/default.aspx" /><category term=".Net (c#) 3.5" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net+_2800_c_23002900_+3.5/default.aspx" /><category term="AJAX" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/AJAX/default.aspx" /><category term="ASP.NET" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/ASP.NET/default.aspx" /><category term="CodePlex" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/CodePlex/default.aspx" /></entry><entry><title>6 free online editors for your asp.net site</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/08/6-free-online-editors-for-your-asp-net-site.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/08/6-free-online-editors-for-your-asp-net-site.aspx</id><published>2008-04-08T21:29:00Z</published><updated>2008-04-08T21:29:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://www.fckeditor.net/" target=_blank&gt;FCKeditor&lt;/A&gt; this HTML text editor brings to the web much of the power of desktop editors like MS Word. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=95 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb.png" width=295 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.fckeditor.net/download" target=_blank&gt;Download FCKeditor&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.fckeditor.net/demo" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.avidansoft.com/scripts" target=_blank&gt;Damn Small Rich Text Editor&lt;/A&gt; - very small text editor.Built on top of well known JQuery library.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_3.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=112 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb_3.png" width=427 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.avidansoft.com/dsrte/dsrte.tar.bz2" target=_blank&gt;Download Damn Small Rich Text Editor&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.avidansoft.com/dsrte/dsrte.php" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tinymce.moxiecode.com/index.php" target=_blank&gt;TinyMCE&lt;/A&gt; -Cross platform HTML WYSIWYG text editor .Supports templates, easy localizable and can be extended using plugins &lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=161 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb_4.png" width=405 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://tinymce.moxiecode.com/download.php" target=_blank&gt;Download TinyMCE&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tinymce.moxiecode.com/example_full.php?example=true" target=_blank&gt;Demo&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ecardmax.com/index.php?step=Hoteditor" target=_blank&gt;HotEditor&lt;/A&gt; - browser-based rich text editor that provides an advantage in simplifying the workload and providing options for integration to forum software&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_5.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=197 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb_5.png" width=422 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ecardmax.com/ehelpmax/download.php" target=_blank&gt;Download HotEditor&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ecardmax.com/hoteditor/index.html" target=_blank&gt;Demo&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.wymeditor.org/en/" target=_blank&gt;WYMeditor&lt;/A&gt; - simple cross platform XHTML&amp;nbsp; web editor&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=137 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb_6.png" width=425 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.wymeditor.org/en/download/" target=_blank&gt;Download WYMeditor&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.wymeditor.org/en/demo/" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;SPAW Editor is a web based in-browser WYSIWYG editor control enabling web site developers to replace a standard textarea html control with full-featured, fully customizable, multilingual, skinable web based WYSIWYG editor.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_7.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=163 alt=image src="http://devintelligence.com/blog-images/devintelligence/e0404c6ba03a_142C6/image_thumb_7.png" width=403 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://spaweditor.com/en/disp.php/en_products/en_spaw/en_spaw_download" target=_blank&gt;Download SPAW Editor&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://spaweditor.com/en/disp.php/en_products/en_spaw/en_spaw_demo" target=_blank&gt;Demo&lt;/A&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7cfa6eda-7bb1-424c-a9b3-bec2e21ab24c style="PADDING-RIGHT:0px;DISPLAY:inline;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/online" rel=tag&gt;online&lt;/A&gt;,&lt;A href="http://technorati.com/tags/editor" rel=tag&gt;editor&lt;/A&gt;,&lt;A href="http://technorati.com/tags/asp" rel=tag&gt;asp&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1743" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Freeware" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Freeware/default.aspx" /><category term="ASP.NET" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/ASP.NET/default.aspx" /></entry><entry><title>String Format - Online Silverlight Reference</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/04/03/string-format-online-silverlight-reference.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/04/03/string-format-online-silverlight-reference.aspx</id><published>2008-04-03T12:03:13Z</published><updated>2008-04-03T12:03:13Z</updated><content type="html">&lt;p&gt;My &lt;a href="http://www.toolico.com/" target="_blank"&gt;coworker&lt;/a&gt; wrote a interesting silverlight tool ,which allows to you test and play with string formatting syntax.&lt;br&gt;Or you can use it as a interactive online reference when you deal with strings and localization. &lt;p&gt;&lt;a href="http://blog.toolico.com/2008/developers-tools/string-format-made-simpl" target="_blank"&gt;&lt;img src="http://blog.toolico.com/content/images/string-format-small.png"&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://blog.toolico.com/2008/developers-tools/string-format-made-simpl" target="_blank"&gt;Check out string format tool&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33b63d10-a4b0-4dac-b02f-994b6174c80d" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/silverlight" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tool" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1739" width="1" height="1"&gt;</content><author><name>adventurer</name><uri>http://devintelligence.com/members/adventurer.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="Freeware" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Freeware/default.aspx" /><category term="Silverlight" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Silverlight/default.aspx" /><category term=".Net (c#) 3.5" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net+_2800_c_23002900_+3.5/default.aspx" /></entry><entry><title>StickyNotes - VS 2008 Addin</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/03/10/stickynotes-vs-2008-addin.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/03/10/stickynotes-vs-2008-addin.aspx</id><published>2008-03-10T21:10:30Z</published><updated>2008-03-10T21:10:30Z</updated><content type="html">&lt;p&gt;&lt;b&gt;StickyNotes&lt;/b&gt; is a Visual Studio Addin that provides sticky notes capabilities to project and project items inside VS 2008 IDE.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=StickyNotes&amp;amp;DownloadId=206" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://visualstudiogallery.com/ExtensionDetails.aspx?ExtensionID=d467cd03-8393-4172-a25a-7a586577f4fb" target="_blank"&gt;Download StickyNotes Addin&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2cdf228f-d673-4539-ae24-f15bce988b83" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/vs2008" rel="tag"&gt;vs2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/extensibility" rel="tag"&gt;extensibility&lt;/a&gt;,&lt;a href="http://technorati.com/tags/addins" rel="tag"&gt;addins&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1497" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="vs2008" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/vs2008/default.aspx" /></entry><entry><title>PowerCommands Addin for Visual Studio 2008</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/03/10/powercommands-addin-for-visual-studio-2008.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/03/10/powercommands-addin-for-visual-studio-2008.aspx</id><published>2008-03-10T21:04:53Z</published><updated>2008-03-10T21:04:53Z</updated><content type="html">&lt;p&gt;PowerCommands is an addin for Visual Studio 2008 that contains additional command menu functions for the IDE that most developers would use regularly.   &lt;br /&gt;The PowerCommands Addin is available along with source code and documentation. &lt;/p&gt;  &lt;p&gt;Below is a list of the features that you will currently find on in PowerCommands Addin for Visual Studio 2008.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;b&gt;Collapse Projects - &lt;/b&gt;This command collapses a hierarchy in the solution explorer starting from the root selected node.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Copy Class - &lt;/b&gt;This command copies a selected class entire content to the clipboard. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Paste Class - &lt;/b&gt;This command pastes a class entire content from the clipboard.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Copy References - &lt;/b&gt;This command copies a reference or set of references to the clipboard.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Paste References - &lt;/b&gt;This command pastes a reference or set of references from the clipboard.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Copy As Project Reference-&lt;/b&gt;This command copies a project as a project reference to the clipboard.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Edit Project File-&lt;/b&gt;This command opens the MSBuild project file for a selected project inside Visual Studio.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Open Containing Folder-&lt;/b&gt;This command opens a Windows Explorer window pointing to the physical path of a selected item.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Open Command Prompt-&lt;/b&gt;This command opens a Visual Studio command prompt pointing to the physical path of a selected item.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Unload Projects-&lt;/b&gt;This command unloads all projects in a solution.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Reload Projects-&lt;/b&gt;This command reloads all unloaded projects in a solution.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Remove and Sort Using's-&lt;/b&gt;This command removes and sort using statements for all classes given a project.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Extract Constant-&lt;/b&gt;This command creates a constant definition statement for a selected text.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Clear Recent File List-&lt;/b&gt;This command clears the Visual Studio recent file list.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Clear Recent Project List-&lt;/b&gt;This command clears the Visual Studio recent project list.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Transform Templates-&lt;/b&gt;This command executes the associated custom tool with text templates items.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Close All-&lt;/strong&gt; This command closes all documents.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://www.visualstudiogallery.com/ExtensionDetails.aspx?ExtensionID=df3f0c30-3d37-4e06-9ef8-3bff3508be31" target="_blank"&gt;Download PowerCommands for Visual Studio 2008&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a646f361-2827-4c8f-8067-973d996a9e00" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/vs2008" rel="tag"&gt;vs2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/addins" rel="tag"&gt;addins&lt;/a&gt;,&lt;a href="http://technorati.com/tags/extensibility" rel="tag"&gt;extensibility&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1496" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /></entry><entry><title>Measure and record C# code metrics.</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/03/07/measure-and-record-c-code-metrics.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/03/07/measure-and-record-c-code-metrics.aspx</id><published>2008-03-07T22:08:47Z</published><updated>2008-03-07T22:08:47Z</updated><content type="html">&lt;p&gt;SourceMonitor measures and records source code metrics. SourceMonitor parses ASCII source code looking for countable metrics items. As these items are identified, their counts are accumulated for each source code file, and within each function or method. These metrics are then accumulated into summary metrics for all files in each checkpoint.If you develop software with Visual Studio, you can add items to your tools menu in Visual Studio that invoke SourceMonitor. You can also operate SourceMonitor from a batch file using commands stored in a text file. SourceMonitor measures metrics for source code written in C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML.Exports metrics to XML or CSV for further processing with other tools.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C# Metrics&lt;/strong&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Statements &lt;/li&gt;    &lt;li&gt;Percent Comment Lines &lt;/li&gt;    &lt;li&gt;Percent Documentation Lines&lt;/li&gt;    &lt;li&gt;Classes, Interfaces, Structs &lt;/li&gt;    &lt;li&gt;Methods per Class&lt;/li&gt;    &lt;li&gt;Statements per Method &lt;/li&gt;    &lt;li&gt;Calls per Method&lt;/li&gt;    &lt;li&gt;Maximum Method Complexity &lt;/li&gt;    &lt;li&gt;Maximum Block Depth &lt;/li&gt;    &lt;li&gt;Average Block Depth &lt;/li&gt;    &lt;li&gt;Average Complexity &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://www.campwoodsw.com/sourcemonitor.html" target="_blank"&gt;Download SourceMonitor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4e55ede0-44dd-4e54-b438-abcdec0ca9a7" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/metrics" rel="tag"&gt;metrics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/complexity" rel="tag"&gt;complexity&lt;/a&gt;,&lt;a href="http://technorati.com/tags/analyze" rel="tag"&gt;analyze&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1493" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term="Freeware" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Freeware/default.aspx" /><category term=".Net (c#) 3.5" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net+_2800_c_23002900_+3.5/default.aspx" /></entry><entry><title>Mass Downloader For .Net Framework - downloads .NET Reference Source Code in batch</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/03/07/mass-downloader-for-net-framework-downloads-net-reference-source-code-in-batch.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/03/07/mass-downloader-for-net-framework-downloads-net-reference-source-code-in-batch.aspx</id><published>2008-03-07T21:49:12Z</published><updated>2008-03-07T21:49:12Z</updated><content type="html">&lt;p&gt;MS has released the .NET Reference Source Code, you can only get it one file at a time while you&amp;#8217;re debugging. If you&amp;#8217;d like to populate the cache, you&amp;#8217;d may use Mass Downloader For .Net Framework which allows you do download .Net Framework source code in batch.The Mass Downloader For .Net Framework enables offline debugging of .Net Framework in Visual Studio 2008/2005(including Express Editions). &lt;/p&gt;  &lt;p&gt;For configuration details you can check out the &lt;a href="http://www.codeproject.com/KB/dotnet/netmassdownloader.aspx" target="_blank"&gt;article&lt;/a&gt; in &lt;a href="http://codeproject.com" target="_blank"&gt;codeproject.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/NetMassDownloader" target="_blank"&gt;Download The Mass Downloader For .Net Framework&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e47ab5d2-3f22-42bf-a1b9-09e2671d7b14" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/debug" rel="tag"&gt;debug&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ms" rel="tag"&gt;ms&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1491" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term=".Net( c# ) 2.0" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net_2800_+c_2300_+_2900_+2.0/default.aspx" /><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /><category term=".Net (c#) 3.5" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net+_2800_c_23002900_+3.5/default.aspx" /></entry><entry><title>DataGridView Extension</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/02/27/datagridview-extension.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/02/27/datagridview-extension.aspx</id><published>2008-02-27T20:06:52Z</published><updated>2008-02-27T20:06:52Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.completit.com/Products/DGVE/Overview.aspx" target="_blank"&gt;DataGridView Extension&lt;/a&gt; is a &lt;strong&gt;free&lt;/strong&gt; component that extends the standard DataGridView control, provided with .NET 2.0 Framework.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Customization the grid in IDE (design mode support for the background color and borders,default cell formatting, alignment,colors,column and row headers formatting, column sizing ...). &lt;/li&gt;    &lt;li&gt;Exporting the data within the data grid in several file formats (MS Excel,Html,PDF). &lt;/li&gt;    &lt;li&gt;Build-in print functionality &lt;/li&gt;    &lt;li&gt;Manage multiple DataGridView controls in a single project and to store all settings for every one of them &lt;/li&gt;    &lt;li&gt;The integrated security allows the developers to control what features are accessible for the end-user depending on the application&amp;#8217;s logic. &lt;/li&gt;    &lt;li&gt;Intelligent searching capabilities. &lt;/li&gt;    &lt;li&gt;Set of custom column types (DateTime picker and Numeric Up/Down columns) &lt;/li&gt;    &lt;li&gt;All features are programmable through the API &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/devintelligence/DataGridViewExtension_13721/DataGridViewExtensionDemo.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="480" alt="DataGridView Extension Demo" src="http://devintelligence.com/blog-images/devintelligence/DataGridViewExtension_13721/DataGridViewExtensionDemo_thumb.jpg" width="431" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/devintelligence/DataGridViewExtension_13721/DataGridViewExtensionSettings.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="480" alt="DataGridView Extension Settings" src="http://devintelligence.com/blog-images/devintelligence/DataGridViewExtension_13721/DataGridViewExtensionSettings_thumb.jpg" width="431" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.completit.com/Products/DGVE/Downloads.aspx" target="_blank"&gt;DataGridView Extension Downloads&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:732f1b28-0537-441a-8bb3-677e1a88eed7" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/datagridview" rel="tag"&gt;datagridview&lt;/a&gt;,&lt;a href="http://technorati.com/tags/control" rel="tag"&gt;control&lt;/a&gt;,&lt;a href="http://technorati.com/tags/freeware" rel="tag"&gt;freeware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1481" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term=".Net( c# ) 2.0" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/.Net_2800_+c_2300_+_2900_+2.0/default.aspx" /><category term="Database" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Database/default.aspx" /><category term="Freeware" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Freeware/default.aspx" /></entry><entry><title>CAKE3 - Free archiving .Net library</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/02/25/cake3-free-archiving-library.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/02/25/cake3-free-archiving-library.aspx</id><published>2008-02-25T21:13:09Z</published><updated>2008-02-25T21:13:09Z</updated><content type="html">&lt;p&gt;Cake3 library supports compressing and extracting files&amp;#160; to/from different archive formats .The library can be easily integrated to your projects . &lt;/p&gt;  &lt;p&gt;Usage of Cake3 library:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Compress&lt;/strong&gt;&lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;   &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;Cakdir3 cdir3 = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Cakdir3(&lt;span style="color:#006080;"&gt;@&amp;quot;c:\temp\arch.lha&amp;quot;&lt;/span&gt;);
cdir3.AddOptions.addFolder = AddOptions.folderMode.relative;
cdir3.AddOptions.baseFolder = &lt;span style="color:#006080;"&gt;@&amp;quot;c:\temp\&amp;quot;;
//Mask not supported in Cake3.
cdir3.AddOptions.addFile = new String[2] {@&amp;quot;&lt;/span&gt;c:\temp\arch.zip&lt;span style="color:#006080;"&gt;&amp;quot;, @&amp;quot;&lt;/span&gt;C:\temp\test\image.bmp&amp;quot;};            
cdir3.Add();&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Decompress&lt;/strong&gt;&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;Cakdir3 cdir = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Cakdir3(&lt;span style="color:#006080;"&gt;@&amp;quot;c:\temp\test.lha&amp;quot;&lt;/span&gt;);
cdir.ExtractOptions.extractItem = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; String[1] {cdir.Archive_Contents[0].fileName};
cdir.ExtractOptions.extractFolder = Utils.GetTempPath() + &lt;span style="color:#006080;"&gt;&amp;quot;qztemp&amp;quot;&lt;/span&gt;;
cdir.ExtractOptions.allowFolder = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;
cdir.ExtractOptions.allowOverwrite = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;

&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (cdir.Extract())
 Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Success&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Archives(compress)&lt;/strong&gt;&lt;/p&gt;

&lt;li&gt;Zip archives (SharpZipLib) &lt;/li&gt;

&lt;li&gt;7z archives (7-zip32.dll) &lt;/li&gt;

&lt;li&gt;lha archives 
  &lt;p&gt;&amp;#160;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Supported Archives(extract only)&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&amp;#160;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Zip archives (SharpZipLib) &lt;/li&gt;

    &lt;li&gt;7z archives (7-zip32.dll) &lt;/li&gt;

    &lt;li&gt;Ace archives (acev2.dll) &lt;/li&gt;

    &lt;li&gt;Arj archives (Unarj32j.dll) &lt;/li&gt;

    &lt;li&gt;Lha archives (Unlha32.dll) &lt;/li&gt;

    &lt;li&gt;Sqx archives (Sqx20.dll) &lt;/li&gt;

    &lt;li&gt;Rar archives (unrar.dll) &lt;/li&gt;

    &lt;li&gt;Cab archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Rar archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Yz1 archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Bga archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Gca archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Imp archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Zoo archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Arc archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Cpt archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Pit archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Arg archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Asd archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Zac archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;MacBin archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Tar, Cpio, Rpm archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Shar archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Quake Pak archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Ar(Deb) archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Gzip archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Bzip2 archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Compress archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Pack archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Compact archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Freeze archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Belon archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Splint archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Jam archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;MS-Compress archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Base64 archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;UUEncoded files (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;XXEncoded files (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;BinHex archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Ish archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Boo archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;BtoA archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Fish archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Jack archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Rez archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Cab(InstallShield) archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Dzip archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;yEnc archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Dmg archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;BriefLZ archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;ISO (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Alz archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Lzx archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Jcalgl archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;apLib archives (Xacrett.dll) &lt;/li&gt;

    &lt;li&gt;Neo_ASK archives (Xacrett.dll) &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://www.quickzip.org/components-cake3" target="_blank"&gt;Download Cake3&lt;/a&gt;&lt;/p&gt;

  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ac5aa989-ead5-40ff-86f8-9829a20c1206" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/library" rel="tag"&gt;library&lt;/a&gt;,&lt;a href="http://technorati.com/tags/archive" rel="tag"&gt;archive&lt;/a&gt;,&lt;a href="http://technorati.com/tags/compress" rel="tag"&gt;compress&lt;/a&gt;,&lt;a href="http://technorati.com/tags/decompress" rel="tag"&gt;decompress&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;

  &lt;p&gt;&lt;/p&gt;
&lt;/li&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1477" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author></entry><entry><title>Pex - dynamic analysis and test generation tool for .NET from Microsoft</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/02/25/pex-dynamic-analysis-and-test-generation-for-net-from-microsoft.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/02/25/pex-dynamic-analysis-and-test-generation-for-net-from-microsoft.aspx</id><published>2008-02-25T20:51:33Z</published><updated>2008-02-25T20:51:33Z</updated><content type="html">&lt;p&gt;&lt;a href="http://research.microsoft.com/pex/default.aspx#overview" target="_blank"&gt;Pex (Program EXploration)&lt;/a&gt; is an assistant to the programmer.Pex takes test-driven development to the next level. Pex analyzes .NET programs. From a parameterized unit test, it automatically generates unit tests cases with high code coverage. In addition,when a generated test fails, it suggests to the developer how to fix the bugs.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;With Pex, you can write parameterized unit test methods and leave to Pex the task of deciding which input is relevant to cover the code (or find bugs). Actually, parameterized unit tests are nothing but specifications. Pex integrates 'naturally' with existing unit test framework (VSTS, NUnit, MbUnit, etc...) by providing a set of custom attributes to tag Pex classes and tests. &lt;/li&gt;    &lt;li&gt;Call Pex directly from Visual Studio to start exploring the parameterized unit tests. &lt;/li&gt;    &lt;li&gt;Pex runs the parameterized unit tests with different input values. Pex monitors the execution and figures out why the program executed the way it did. This is represented as a boolean function over the test parameters. Pex then uses a constraint solver to compute new parameter values that make the program execute in a different way. &lt;/li&gt;    &lt;li&gt;From the parameterized unit tests, Pex generates classic unit tests that can be re-executed without Pex. Pex also tags the generated tests with additional information using attributes (for tools) and xml documentation (for humans). &lt;/li&gt;    &lt;li&gt;While exploring parameterized unit tests, Pex explicitly looks for program errors such as index out of bound or failing user assertions. Pex reports dynamically detected errors in the code. &lt;/li&gt;    &lt;li&gt;Sometimes Pex can automatically fix bugs! When a test fails, Pex traces back the involved values. Pex suggests additional checks to prevent the failure from happening again. Those checks are argument or invariant validation. &lt;/li&gt;    &lt;li&gt;Pex summarizes all the possible fixes in a prioritized table with quick preview. &lt;/li&gt;    &lt;li&gt;Pex integrates generated tests automatically inside the test project. Pex also avoids duplicate tests and recycles obsolete tests. &lt;/li&gt;    &lt;li&gt;Pex comes with a command line tool to execute any assembly containing Pex tests. Great for automation! &lt;/li&gt;    &lt;li&gt;Pex generates detailed HTML reports about the exploration process. The reports contains details about each generated tests, path conditions, suggested fixes, etc... &lt;/li&gt;    &lt;li&gt;Pex generates code coverage reports for each test. &lt;/li&gt;    &lt;li&gt;Pex has a built-in support for mocking interfaces and virtual methods. Pex generates the return values of mocked methods just like it generates test input for parameterized unit tests. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://research.microsoft.com/pex/screencast.aspx" target="_blank"&gt;Watch the screencast&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:10376de1-ed3c-42bf-9a59-cff209a57883" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/nunit" rel="tag"&gt;nunit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/tdd" rel="tag"&gt;tdd&lt;/a&gt;,&lt;a href="http://technorati.com/tags/pex" rel="tag"&gt;pex&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1476" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author></entry><entry><title>Microsoft SharedView</title><link rel="alternate" type="text/html" href="http://devintelligence.com/blogs/netadventures/archive/2008/02/19/microsoft-sharedview.aspx" /><id>http://devintelligence.com/blogs/netadventures/archive/2008/02/19/microsoft-sharedview.aspx</id><published>2008-02-19T19:49:26Z</published><updated>2008-02-19T19:49:26Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=bbdbd839-9597-4133-9b86-6d440fe9522b&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;Microsoft SharedView&lt;/a&gt; is a fast, easy way to share documents and screen views with small groups of friends or coworkers.Share, review, and update documents with up to 15 people in real time.A Windows Live ID (Passport, Hotmail, or MSN) is required to start sessions, but not to join sessions.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6498&amp;amp;SiteID=94" target="_blank"&gt;Sharing an Application or Desktop&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6499&amp;amp;SiteID=94"&gt;Previewing what Attendees See&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6500&amp;amp;SiteID=94" target="_blank"&gt;Pointing and Highlighting&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6501&amp;amp;SiteID=94" target="_blank"&gt;Taking Control&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6502&amp;amp;SiteID=94" target="_blank"&gt;Tracking Results in Word&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6503&amp;amp;SiteID=94" target="_blank"&gt;Using Handouts&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.connect.microsoft.com/content/content.aspx?ContentID=6487&amp;amp;SiteID=94" target="_blank"&gt;Managing and Monitoring Participation&lt;/a&gt;&lt;/li&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=bbdbd839-9597-4133-9b86-6d440fe9522b&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;Download MS SharedView&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3616247c-1cab-4cc1-b0b5-0dcc829f2292" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/sharing" rel="tag"&gt;sharing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/tool" rel="tag"&gt;tool&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devintelligence.com/aggbug.aspx?PostID=1471" width="1" height="1"&gt;</content><author><name>admin</name><uri>http://devintelligence.com/members/admin.aspx</uri></author><category term="Tool" scheme="http://devintelligence.com/blogs/netadventures/archive/tags/Tool/default.aspx" /></entry></feed>