<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28314047</id><updated>2011-12-21T03:34:10.672-08:00</updated><category term='c#'/><category term='LINQ-to-Objects'/><category term='LINQ'/><category term='tools'/><category term='powershell'/><category term='.net 3.5'/><category term='silverlight'/><category term='tips'/><category term='microsoft'/><category term='msbuild'/><category term='freeware'/><category term='blogging'/><category term='book'/><category term='WPF'/><category term='XAML'/><category term='database'/><title type='text'>Dot Net Project</title><subtitle type='html'>Daily reviews about .Net,tools and programming techniques</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>83</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28314047.post-2916201417151192346</id><published>2008-04-14T12:22:00.001-07:00</published><updated>2008-04-14T12:22:51.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Visual LINQ Query Builder - VS 2008 Add-In</title><content type='html'>&lt;p&gt;Visual Linq Query Builder helps you create Linq to SQL queries for your programs(Support&amp;#160; for C# and VB projects is provided) and demonstrates how to create their own Visual Studio 2008 add-in by using WPF. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here are some screenshots of Visual Linq Query Builder in designer mode&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/tarasn/SAOu5rzxujI/AAAAAAAAAJY/QE7eKgF_6hE/s1600-h/clip_image016_2%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="clip_image016_2" src="http://lh4.ggpht.com/tarasn/SAOu87zxukI/AAAAAAAAAJg/_aY0R6CJvx0/clip_image016_2_thumb%5B1%5D.jpg?imgmax=800" width="580" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/tarasn/SAOu-7zxulI/AAAAAAAAAJo/P_-huJf020s/s1600-h/clip_image018_2%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="clip_image018_2" src="http://lh4.ggpht.com/tarasn/SAOvB7zxumI/AAAAAAAAAJw/x08NVvpIunE/clip_image018_2_thumb%5B1%5D.jpg?imgmax=800" width="580" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Download &lt;a href="http://code.msdn.microsoft.com/vlinq/Release/ProjectReleases.aspx" target="_blank"&gt;Visual LINQ Query Builder and documentation&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:a66fbefc-77dc-40a1-b2d6-33a9a06fa04b" 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/linq" rel="tag"&gt;linq&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/ui" rel="tag"&gt;ui&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-2916201417151192346?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2916201417151192346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=2916201417151192346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2916201417151192346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2916201417151192346'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/04/visual-linq-query-builder-vs-2008-add.html' title='Visual LINQ Query Builder - VS 2008 Add-In'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/tarasn/SAOu87zxukI/AAAAAAAAAJg/_aY0R6CJvx0/s72-c/clip_image016_2_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-6660811977430585087</id><published>2008-03-16T14:02:00.001-07:00</published><updated>2008-03-16T14:02:10.020-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>JetBrains Omea goes Open Source</title><content type='html'>&lt;p&gt;Great news for those of you who are interested in good blog reader&lt;/p&gt;  &lt;p&gt;Jetbrains Omea - both source and companion files - is now distributed under GNU GPL v2 License &lt;a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target="_blank"&gt;http://www.gnu.org/licenses/old-licenses/gpl-2.0.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For technical details, visit the dedicated Confluence page: &lt;a href="http://www.jetbrains.net/confluence/display/OMEA/this+link" target="_blank"&gt;http://www.jetbrains.net/confluence/display/OMEA/this+link&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:0d42c7d5-acd7-410b-8814-9b6be00ce61d" 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/blog" rel="tag"&gt;blog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/reader" rel="tag"&gt;reader&lt;/a&gt;,&lt;a href="http://technorati.com/tags/jetbrains" rel="tag"&gt;jetbrains&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-6660811977430585087?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/6660811977430585087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=6660811977430585087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6660811977430585087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6660811977430585087'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/03/jetbrains-omea-goes-open-source.html' title='JetBrains Omea goes Open Source'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7568969319145389040</id><published>2008-03-12T13:37:00.001-07:00</published><updated>2008-03-12T13:37:43.833-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='.net 3.5'/><title type='text'>System.Reflection - how to access and invoke private methods,fields or properties</title><content type='html'>&lt;p&gt;For demonstration purpose I've created a class that contains only private methods,fields and properties&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, &amp;#39;Courier New&amp;#39;, 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, &amp;#39;Courier New&amp;#39;, 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;br /&gt;&lt;span style="color: #008000"&gt;/// Holds blog information&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Blog&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Gets the posts count.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; PostsCount&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; 10000;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Gets the description.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetDescription()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;@&amp;quot;A weblog dedicated to obsessively profiling &lt;br /&gt;reviewing new Internet products and companies&amp;quot;&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Changes the name of the blog.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;newName&amp;quot;&amp;gt;The new name.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ChangeBlogName(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; newName)&lt;br /&gt;    {&lt;br /&gt;        name = newName;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; url = &lt;span style="color: #006080"&gt;&amp;quot;http://techcrunch.com&amp;quot;&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name = &lt;span style="color: #006080"&gt;&amp;quot;Tech Crunch&amp;quot;&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To access private fields I used the System.Reflection.FieldInfo class .For private properties I used System.Reflection.PropertyInfo .Note if you want to work with private members you should use System.Reflection.BindingFlags enum as shown in the example below .So for non-static class members the flags should looks like &lt;strong&gt;BindingFlags.NonPublic | BindingFlags.Instance .&lt;/strong&gt;For static don't forget to add &lt;strong&gt;BindingFlags.Static .&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&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, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;&lt;br /&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, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            Blog blog = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Blog();&lt;br /&gt;            Type type = &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Blog);&lt;br /&gt;            &lt;span style="color: #008000"&gt;//create reflection bindings - will be used to retrive private fields,methods or properties&lt;/span&gt;&lt;br /&gt;            BindingFlags privateBindings = BindingFlags.NonPublic | BindingFlags.Instance;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #008000"&gt;// retrive private fields from our class&lt;/span&gt;&lt;br /&gt;            FieldInfo[] fieldInfos = type.GetFields(privateBindings);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #008000"&gt;// retrive private fields metadata&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (FieldInfo fieldInfo &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; fieldInfos)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(fieldInfo.Name +&lt;span style="color: #006080"&gt;&amp;quot; &amp;quot;&lt;/span&gt;+ fieldInfo.GetValue(blog));&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            PropertyInfo [] propertyInfos = type.GetProperties(privateBindings|BindingFlags.Static);&lt;br /&gt;            &lt;span style="color: #008000"&gt;// retrive private static properties metadata&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (PropertyInfo propertyInfo &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; propertyInfos)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #008000"&gt;// note that no instance need for static property to retrive it's value&lt;/span&gt;&lt;br /&gt;                Console.WriteLine(propertyInfo.Name + &lt;span style="color: #006080"&gt;&amp;quot; &amp;quot;&lt;/span&gt; + propertyInfo.GetValue(&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;,&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;) );&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #008000"&gt;// call method using MethodInfo object&lt;/span&gt;&lt;br /&gt;            MethodInfo miGetDescription = type.GetMethod(&lt;span style="color: #006080"&gt;&amp;quot;GetDescription&amp;quot;&lt;/span&gt;, privateBindings);&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; retObj = miGetDescription.Invoke(blog, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;object&lt;/span&gt;[]{});&lt;br /&gt;            Console.WriteLine(retObj);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #008000"&gt;// call method using MethodInfo object with input parameters&lt;/span&gt;&lt;br /&gt;            MethodInfo miChangeBlogName = type.GetMethod(&lt;span style="color: #006080"&gt;&amp;quot;ChangeBlogName&amp;quot;&lt;/span&gt;, privateBindings);&lt;br /&gt;            retObj = miChangeBlogName.Invoke(blog, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;object&lt;/span&gt;[] { &lt;span style="color: #006080"&gt;&amp;quot;Yahoo blog&amp;quot;&lt;/span&gt; });&lt;br /&gt;            Console.WriteLine(retObj);&lt;br /&gt;&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The console output fallows&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.google.com/tarasn/R9g_Ehdu47I/AAAAAAAAAHg/nLerjQN_ynM/image%5B3%5D"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="193" alt="image" src="http://lh5.google.com/tarasn/R9g_Fhdu48I/AAAAAAAAAHo/jTtyQ9awqzE/image_thumb%5B1%5D" width="457" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ea0708c8-1ab8-42b0-b8e5-134edd8e469c" 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/reflection" rel="tag"&gt;reflection&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/development" rel="tag"&gt;development&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7568969319145389040?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7568969319145389040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7568969319145389040' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7568969319145389040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7568969319145389040'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/03/systemreflection-how-to-access-and.html' title='System.Reflection - how to access and invoke private methods,fields or properties'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7744131501796090187</id><published>2008-02-26T12:44:00.001-08:00</published><updated>2008-02-26T12:44:43.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='.net 3.5'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Microsoft® Visual Studio Team System 2008 Database Edition Power Tools</title><content type='html'>&lt;p&gt;Microsoft Visual Studio Team System 2008 Database Edition Power Tools is a set of enhancements and tools that complement and improve the user experience of VSTS Database Edition 2008&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Features     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; ChecksumCondition &amp;#8211; You can use this test condition to verify that the checksum of the data set returned by a database unit test matches the checksum of an expected data set.    &lt;br /&gt;&amp;#8226; ExpectedSchemaTestCondition &amp;#8211; You can use this test condition to verify that the column names and data types of the returned data set match expected values.    &lt;br /&gt;&lt;strong&gt;Data Generator Improvements     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; New Data Generator Wizard &amp;#8211; This new wizard creates a data generation plan that is configured to copy data from a source database. You can use this wizard when you need to copy most of your data from a live source, but need to make small changes to ensure privacy.    &lt;br /&gt;&lt;strong&gt;MSBuild Task Improvements     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; SqlAnalysis Task &amp;#8211; You can use this build task to run T-SQL Static Code Analysis from MSBuild.    &lt;br /&gt;TSQL Static Code Analysis    &lt;br /&gt;&amp;#8226; Static Code Analysis - A precursor to the functionality that will be in future versions of VSTS that will allow you to perform Static Code Analysis on T-SQL code.    &lt;br /&gt;&lt;strong&gt;Refactoring&lt;/strong&gt;    &lt;br /&gt;&amp;#8226; &amp;#8220;Move Schema&amp;#8221; Refactoring - Allows a user to right click on an object and move it to a different but existing schema     &lt;br /&gt;&amp;#8226; SP Rename Generation - Generate a new script that will contain sp_renames for all rename refactored objects that the user can then execute.     &lt;br /&gt;&amp;#8226; Wildcard Expansion - Automatically expand the wildcard in a select to the appropriate columns.    &lt;br /&gt;&amp;#8226; Fully-Qualified Name Support - Automatically inject fully-qualified names when absent in a script    &lt;br /&gt;&amp;#8226; Refactoring extended to Dataset - Refactor into strongly typed dataset definitions    &lt;br /&gt;&lt;strong&gt;MSBuild Tasks     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; Data / Schema Compare Build Tasks - MSBuild tasks that can generate scripts as if the user had run the Data / Schema compare UI    &lt;br /&gt;&lt;strong&gt;Schema View     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; API Access to Schema View - Insert / Update / Delete to schema View and list schema objects and their associated files    &lt;br /&gt;&lt;strong&gt;Dependency Tool Window&lt;/strong&gt;    &lt;br /&gt;&amp;#8226; Dependency Tree - Show the dependencies ( incoming / outgoing ) for selected schema objects in a new tool window    &lt;br /&gt;&lt;strong&gt;Miscellaneous Tools     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; Script Preprocessor - Expand SQLCMD variables and include files and command line version (sqlspp.exe) &amp;amp; an MSBuild version ( wraps the command line version )&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=73ba5038-8e37-4c8e-812b-db14ede2c354&amp;amp;displaylang=en" target="_blank"&gt;Download Microsoft&amp;#174; Visual Studio Team System 2008 Database Edition Power Tools&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a386847e-e764-41bd-b9ea-79dc1698c837" 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/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/database" rel="tag"&gt;database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/tools" rel="tag"&gt;tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/vs2008" rel="tag"&gt;vs2008&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7744131501796090187?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7744131501796090187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7744131501796090187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7744131501796090187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7744131501796090187'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/02/microsoft-visual-studio-team-system.html' title='Microsoft® Visual Studio Team System 2008 Database Edition Power Tools'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-8882459231682823978</id><published>2008-01-13T13:08:00.001-08:00</published><updated>2008-01-13T13:22:21.946-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LINQ-to-Objects'/><category scheme='http://www.blogger.com/atom/ns#' term='.net 3.5'/><title type='text'>LINQ to Objects - 3 basic examples</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The examples below show how you can use aggregate operators in &amp;quot;LINQ to Objects&amp;quot;&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, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;// our test data array&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] names = { &lt;span style="color: #006080"&gt;&amp;quot;Sara&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Bill&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Alex&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Don&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Tom&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;David&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Dana&amp;quot;&lt;/span&gt; };&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// Find names starts with with character 'D'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; namesStartsWithD = names.Count( name =&amp;gt; name.StartsWith(&lt;span style="color: #006080"&gt;&amp;quot;d&amp;quot;&lt;/span&gt;,&lt;br /&gt;    StringComparison.CurrentCultureIgnoreCase ) );&lt;br /&gt;Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;There are {0} names that start with character 'D' in the name list.&amp;quot;&lt;/span&gt;, &lt;br /&gt;    namesStartsWithD);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// Find the longest name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; longestName = names.Max( name=&amp;gt;name.Length );&lt;br /&gt;Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;The longest name is {0} characters long.&amp;quot;&lt;/span&gt;, longestName);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// Find the first name that starts with  character 'D'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; firstStartsWithD = names.First(name =&amp;gt; name.StartsWith(&lt;span style="color: #006080"&gt;&amp;quot;d&amp;quot;&lt;/span&gt;,&lt;br /&gt;   StringComparison.CurrentCultureIgnoreCase)  );&lt;br /&gt;Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;The first name that start with 'D' - {0}.&amp;quot;&lt;/span&gt;, firstStartsWithD);&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.google.com/tarasn/R4qBCoa303I/AAAAAAAAAFY/bXyOPXBQwv8/image%5B2%5D" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="85" alt="image" src="http://lh6.google.com/tarasn/R4p94Ia302I/AAAAAAAAAFg/tgUKy2sLxQs/image_thumb%5B1%5D" width="562" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-8882459231682823978?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/8882459231682823978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=8882459231682823978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8882459231682823978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8882459231682823978'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/01/linq-to-objects-3-basic-examples.html' title='LINQ to Objects - 3 basic examples'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-3678011316104556307</id><published>2007-10-10T07:20:00.001-07:00</published><updated>2007-10-10T07:20:31.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>SVN via MS IIS</title><content type='html'>&lt;p&gt;&lt;a href="http://www.svniis.org/" target="_blank"&gt;SVN-IIS&lt;/a&gt; gives access to Subversion via MS IIS&lt;br&gt;The main goal of this project is to make a direct interface from a SVN repository to WebDav interface running on MS IIS.  &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Practically no overhead&lt;/li&gt; &lt;li&gt;Tested on IIS5.x and IIS6.x&lt;/li&gt; &lt;li&gt;Tested on http and https (used a test certificate)&lt;/li&gt; &lt;li&gt;Support for HTTP 1.1 Chunked encoding&lt;/li&gt; &lt;li&gt;Runs on Windows XP\2000\2003\Vista&lt;/li&gt; &lt;li&gt;Apache like logging &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Prerequisites  &lt;ul&gt; &lt;li&gt;.NET Framework &lt;/li&gt; &lt;li&gt;Access from the IIS to a running Apache webserver, interfacing a SVN repository &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.dotnetkicks.com/" target="_blank"&gt;dotnetkicks.com&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-3678011316104556307?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/3678011316104556307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=3678011316104556307' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3678011316104556307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3678011316104556307'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/10/svn-via-ms-iis.html' title='SVN via MS IIS'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7862538234425771135</id><published>2007-09-19T13:09:00.001-07:00</published><updated>2007-09-19T13:09:01.234-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><title type='text'>Expression Blend 2 September Preview</title><content type='html'>&lt;p&gt;Expression Blend 2 September Preview is available for download &lt;p&gt;&lt;strong&gt;New features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Visual Studio 2008 Beta 2 Support  &lt;li&gt;Making Controls from Existing Objects  &lt;li&gt;Split View and XAML Editor Improvements  &lt;li&gt;Storyboard Picker  &lt;li&gt;Storyboard and Keyframe Properties  &lt;li&gt;Vertex Animation  &lt;li&gt;Breadcrumb Bar  &lt;li&gt;Font Embedding and Subsetting  &lt;li&gt;Build Options  &lt;li&gt;Object Manipulation&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;More details available at the &lt;a href="http://blogs.msdn.com/expression/archive/2007/09/14/expression-blend-2-september-preview-is-now-available.aspx" target="_blank"&gt;Expression Team's blog&lt;/a&gt;. &lt;p&gt;Visit the &lt;a href="http://www.microsoft.com/expression/products/features.aspx?key=blend2preview" target="_blank"&gt;Expression Blend 2 September Preview&lt;/a&gt; to download and install the latest build.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7862538234425771135?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7862538234425771135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7862538234425771135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7862538234425771135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7862538234425771135'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/09/expression-blend-2-september-preview.html' title='Expression Blend 2 September Preview'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4886912251875573607</id><published>2007-09-15T07:44:00.001-07:00</published><updated>2007-09-15T07:44:33.908-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>The set of useful methods that can make developer life easer</title><content type='html'>&lt;p&gt;Take a look at a list below and you may find a few methods that save your time.The sources&amp;nbsp; and documentation&amp;nbsp;are &lt;a href="http://authors.aspalliance.com/olson/methods/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Array&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetMissingItems.aspx" target="_blank"&gt;GetMissingItems&lt;/a&gt;&lt;br&gt;Gets a list of the items in an array missing from a second array.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/RemoveDups.aspx" target="_blank"&gt;RemoveDups&lt;/a&gt;&lt;br&gt;Removes any duplicate items for a list of items.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/StringArrayToString.aspx" target="_blank"&gt;StringArrayToString&lt;/a&gt;&lt;br&gt;Converts an array of strings into a string.  &lt;p&gt;&lt;b&gt;Collection&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/CollectionToHtmlTable.aspx" target="_blank"&gt;CollectionToHtmlTable&lt;/a&gt;&lt;br&gt;Converts a collection to an html string having a table.  &lt;p&gt;&lt;b&gt;Color&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ColorToHtml.aspx" target="_blank"&gt;ColorToHtml&lt;/a&gt;&lt;br&gt;Converts a color into an html hexadecimal string.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetColorTable.aspx" target="_blank"&gt;GetColorTable&lt;/a&gt;&lt;br&gt;Get an html table listing color, html hexadecimal, and color name.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetRandomColor.aspx" target="_blank"&gt;GetRandomColor&lt;/a&gt;&lt;br&gt;Gets a random color.  &lt;p&gt;&lt;b&gt;DataSet&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ArrayToDataTable.aspx" target="_blank"&gt;ArrayToDataTable&lt;/a&gt;&lt;br&gt;Converts an array of strings to a DataTable.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/DataTable2ExcelString.aspx" target="_blank"&gt;DataTable2ExcelString&lt;/a&gt;&lt;br&gt;Coverts a DataTable into an Excel string.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/DataTableToArray.aspx" target="_blank"&gt;DataTableToArray&lt;/a&gt;&lt;br&gt;Creates a string array from a DataTable.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/DataTableToString.aspx" target="_blank"&gt;DataTableToString&lt;/a&gt;&lt;br&gt;Converts a DataTable to a string with an html table.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/FilterSortData.aspx" target="_blank"&gt;FilterSortData&lt;/a&gt;&lt;br&gt;Filter and sort a dataset.  &lt;p&gt;&lt;b&gt;DateTime&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/CountWeekdays.aspx" target="_blank"&gt;CountWeekdays&lt;/a&gt;&lt;br&gt;Counts the number of weekdays between two dates.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/CountWeekends.aspx" target="_blank"&gt;CountWeekends&lt;/a&gt;&lt;br&gt;Counts the number of weekends between two dates.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/IsDate.aspx" target="_blank"&gt;IsDate&lt;/a&gt;&lt;br&gt;Checks whether an object is a date.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/IsWeekDay.aspx" target="_blank"&gt;IsWeekDay&lt;/a&gt;&lt;br&gt;Returns true of day is weekday, otherwise false.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/IsWeekEnd.aspx" target="_blank"&gt;IsWeekEnd&lt;/a&gt;&lt;br&gt;Returns true of day is weekend, otherwise false.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/TimeBreakdown.aspx" target="_blank"&gt;TimeBreakdown&lt;/a&gt;&lt;br&gt;Returns a string that enumerates years, months, days, etc.  &lt;p&gt;&lt;b&gt;File&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ArrayToFile.aspx" target="_blank"&gt;ArrayToFile&lt;/a&gt;&lt;br&gt;Saves a string array as a text file.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/FileToArray.aspx" target="_blank"&gt;FileToArray&lt;/a&gt;&lt;br&gt;Converts the contents of a file to a string array.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetDirectoryFileInfo.aspx" target="_blank"&gt;GetDirectoryFileInfo&lt;/a&gt;&lt;br&gt;Gets information about the files in a directory and puts it in an array of strings.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetDirectoryInfo.aspx" target="_blank"&gt;GetDirectoryInfo&lt;/a&gt;&lt;br&gt;Gets information about a directory and puts it in an array of strings.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetFileInfo.aspx" target="_blank"&gt;GetFileInfo&lt;/a&gt;&lt;br&gt;Gets information about a file and puts it in an array of strings.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ReadFromFile.aspx" target="_blank"&gt;ReadFromFile&lt;/a&gt;&lt;br&gt;Reads from a text file, puts the contents of the file in a string, and returns the string.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/WriteToFile.aspx" target="_blank"&gt;WriteToFile&lt;/a&gt;&lt;br&gt;Writes the passed in string to a file.  &lt;p&gt;&lt;b&gt;Forms&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/SetCheckboxesSelect.aspx" target="_blank"&gt;SetCheckboxesSelect&lt;/a&gt;&lt;br&gt;Adds a check to the checkboxes whose values are passed in.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/SetComboSelectedIndex.aspx" target="_blank"&gt;SetComboSelectedIndex&lt;/a&gt;&lt;br&gt;Sets which item is selected in a DropDownList.  &lt;p&gt;&lt;b&gt;Math&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/Triangulate.aspx" target="_blank"&gt;Triangulate&lt;/a&gt;&lt;br&gt;Sums the numbers from 1 to n.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/UnTriangulate.aspx" target="_blank"&gt;UnTriangulate&lt;/a&gt;&lt;br&gt;Undoes the Triangulate method.  &lt;p&gt;&lt;b&gt;Network&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/DNSLookup.aspx" target="_blank"&gt;DNSLookup&lt;/a&gt;&lt;br&gt;Gets DNS information about a url and puts it in an array of strings.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetHttpHeaders.aspx" target="_blank"&gt;GetHttpHeaders&lt;/a&gt;&lt;br&gt;Gets Http Headers and puts them in an array of strings.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetImages.aspx" target="_blank"&gt;GetImages&lt;/a&gt;&lt;br&gt;Gets the images from a webpage.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetLinks.aspx" target="_blank"&gt;GetLinks&lt;/a&gt;&lt;br&gt;Gets the links from a webpage.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetServerVariables.aspx" target="_blank"&gt;GetServerVariables&lt;/a&gt;&lt;br&gt;Gets the ServerVariables and puts them in a string.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ReadWebPage.aspx" target="_blank"&gt;ReadWebPage&lt;/a&gt;&lt;br&gt;Reads a web page and returns a string with the contents.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/SendMail.aspx" target="_blank"&gt;SendMail&lt;/a&gt;&lt;br&gt;Sends an e-mail message.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/SendNetSend.aspx" target="_blank"&gt;SendNetSend&lt;/a&gt;&lt;br&gt;Sends a net send message.  &lt;p&gt;&lt;b&gt;Numbers&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetDoubles.aspx" target="_blank"&gt;GetDoubles&lt;/a&gt;&lt;br&gt;Gets an array of double values from the start value to the end value.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetInts.aspx" target="_blank"&gt;GetInts&lt;/a&gt;&lt;br&gt;Gets an array of int values from the start value to the end value.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetRandomNumber.aspx" target="_blank"&gt;GetRandomNumber&lt;/a&gt;&lt;br&gt;Gets a random number.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/IsNumeric.aspx" target="_blank"&gt;IsNumeric&lt;/a&gt;&lt;br&gt;Check whether an object is numeric.  &lt;p&gt;&lt;b&gt;Stats&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetAvg.aspx" target="_blank"&gt;GetAvg&lt;/a&gt;&lt;br&gt;Gets the average of an array of doubles or an array of ints.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetCorrelation.aspx" target="_blank"&gt;GetCorrelation&lt;/a&gt;&lt;br&gt;Gets the Correlation between two arrays of numbers.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetStandardDeviation.aspx" target="_blank"&gt;GetStandardDeviation&lt;/a&gt;&lt;br&gt;Gets the standard deviation of a list of numbers.  &lt;p&gt;&lt;b&gt;Strings&lt;/b&gt;  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/CountStrings.aspx" target="_blank"&gt;CountStrings&lt;/a&gt;&lt;br&gt;Count how many times a string appears.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/GetASCII.aspx" target="_blank"&gt;GetASCII&lt;/a&gt;&lt;br&gt;Gets a string with ASCII characters.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/ProperCase.aspx" target="_blank"&gt;ProperCase&lt;/a&gt;&lt;br&gt;Converts a string to proper case.  &lt;p&gt;&lt;a href="http://authors.aspalliance.com/olson/methods/RemoveWhiteSpace.aspx" target="_blank"&gt;RemoveWhiteSpace&lt;/a&gt;&lt;br&gt;Remove extra white space in a string.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-4886912251875573607?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4886912251875573607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=4886912251875573607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4886912251875573607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4886912251875573607'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/09/set-of-useful-methods-that-can-make.html' title='The set of useful methods that can make developer life easer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4055450565140408681</id><published>2007-08-21T13:01:00.001-07:00</published><updated>2007-08-21T13:01:44.806-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Manage your Subversion(SVN) Repositories &amp; Server conviently and effectively</title><content type='html'>&lt;p&gt;This utility provides you with the ability to completely manage your Subversion(SVN) Repositories &amp;amp; Server conviently and effectively without the hassle of command-line tools.  &lt;p&gt;PainlessSVN compliments your current SVN Client and Server software, and is easily deployable.It doesn't require any time at all to setup for your current environment.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.systemwidgets.com/Portals/0/images/screenshots/PainlessSVNPro/PainlessSVNProMainHalf.png"&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Create and Delete Repositories  &lt;li&gt;Create and Delete Directories  &lt;li&gt;Create and Delete Users  &lt;li&gt;Create Dump Files  &lt;li&gt;Create Hot Copies  &lt;li&gt;Manage access to repositories  &lt;li&gt;It can manage repositories even when svnserve is not running  &lt;li&gt;No command-line switches to remember  &lt;li&gt;Ability to add repositories that reside in different directories.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.systemwidgets.com/Downloads/PainlessSVN/tabid/76/Default.aspx" target="_blank"&gt;Download PainlessSVN (beta)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-4055450565140408681?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4055450565140408681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=4055450565140408681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4055450565140408681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4055450565140408681'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/manage-your-subversionsvn-repositories_21.html' title='Manage your Subversion(SVN) Repositories &amp;amp; Server conviently and effectively'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-5305020826003880594</id><published>2007-08-21T12:42:00.001-07:00</published><updated>2007-08-21T12:42:24.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>SketchPath-XPath development and XML analysis tool</title><content type='html'>&lt;p&gt;SketchPath is an XPath development and XML analysis tool. It provides an integrated graphical environment for viewing XML files , developing XPath expressions against them and managing the expressions in file libraries.  &lt;p&gt;File libraries of XPath expressions can be saved and loaded as .NET DataTable XML serialized objects. SketchPath supports XML Packages as used by Open XML and ODF.  &lt;p&gt;This .NET tool was originally designed to assist XSLT developers at all levels, but should equally suit any developers or analysts who currently work with XPath 1.0 or who would benefit from using it to exploit XML. &lt;p&gt;&lt;img height="131" src="http://pgfearo.googlepages.com/Capture11.PNG/Capture11-full.jpg" width="240"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Easy to install:&amp;nbsp;A single&amp;nbsp; 350KB .EXE file (Needs .NET 2.0 Also)&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/xpathsteptracer" target="_blank"&gt;XPath Location Step-Tracer&lt;/a&gt; - Predicate tracing&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/auto-generatingxpath" target="_blank"&gt;Auto-Generate&lt;/a&gt; XPath Locations by selecting from&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/resultspane" target="_blank"&gt;XPath Result list&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/regularexpressions" target="_blank"&gt;Regular Expression Result list&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/treeviewpane" target="_blank"&gt;Element Tree View&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/managingxpathexpressions" target="_blank"&gt;Element Nodes List&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/xmleditor" target="_blank"&gt;XML Text Editor&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/managingxpathexpressions" target="_blank"&gt;XPath Variables List&lt;/a&gt;&lt;/li&gt; &lt;li&gt;XPath Step Tracer&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/expressionslibrary" target="_blank"&gt;Save XPath expressions&lt;/a&gt; for re-use as variables&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/importingxpath" target="_blank"&gt;Import XPath Expressions&lt;/a&gt; from an XML source (eg. XSLT)&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/managingxpathexpressions" target="_blank"&gt;Manage Xpath variables lists in groups&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Save and load XPath variable groups in &lt;a href="http://pgfearo.googlepages.com/usingxpathlibraries" target="_blank"&gt;library files&lt;/a&gt;&lt;/li&gt; &lt;li&gt;‘As-You-Type’ bookmarking of nodeset results&amp;nbsp;in &lt;a href="http://pgfearo.googlepages.com/treeviewpane" target="_blank"&gt;Element Tree View&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Manage Xpath environment&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/managingnamespaces" target="_blank"&gt;Manage Namespaces&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Set the &lt;a href="http://pgfearo.googlepages.com/settingthecontextnode" target="_blank"&gt;Context Node&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Select the group of &lt;a href="http://pgfearo.googlepages.com/managingxpathexpressions" target="_blank"&gt;XPath variables&lt;/a&gt;&amp;nbsp;required&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/auto-completion" target="_blank"&gt;Auto-Complete&lt;/a&gt;&amp;nbsp;('Intellisense') uses 'Look-Ahead' to list available location and value nodes&amp;nbsp;when typing&lt;/li&gt; &lt;li&gt;An XPath &lt;a href="http://pgfearo.googlepages.com/%27assistpane%27" target="_blank"&gt;'Assist Pane'&lt;/a&gt; provides quick access to all XPath Nodes/Axes and Functions&lt;/li&gt; &lt;li&gt;Syntax checking and colorizing of XPath expressions&lt;/li&gt; &lt;li&gt;Uses .NET System.XML.XPath namespace to evaluate expressions&lt;/li&gt; &lt;li&gt;All XML panes synchronized, viewable panes &amp;amp; behavior controlled by &lt;a href="http://pgfearo.googlepages.com/sketchpathmodes2" target="_blank"&gt;modes&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Use &lt;a href="http://pgfearo.googlepages.com/regularexpressions" target="_blank"&gt;Regular Expressions&lt;/a&gt; (Regex) to resolve XPath locations&lt;/li&gt; &lt;li&gt;Simple User-Interface with just&amp;nbsp;3 main &lt;a href="http://pgfearo.googlepages.com/toolbarscreenshots" target="_blank"&gt;toolbars&lt;/a&gt;&amp;nbsp;with minimal icon-clutter&lt;/li&gt; &lt;li&gt;&lt;a href="http://pgfearo.googlepages.com/packageinspection" target="_blank"&gt;Package Inspection&lt;/a&gt; feature for ZIP compressed XML file structures, support includes:&lt;/li&gt; &lt;ol&gt; &lt;li&gt;Word 2007 docx format&lt;/li&gt; &lt;li&gt;Excel 2007 xlsx format&lt;/li&gt; &lt;li&gt;Powerpoint 2007 pptx format&lt;/li&gt; &lt;li&gt;XML Paper Specification xps format&lt;/li&gt; &lt;li&gt;OASIS Open Document Format (ODF)&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Fast XPath location generation usin an optimized 'Element Index' (updated as you type)&lt;/li&gt; &lt;li&gt;Free-flow XML Source&amp;nbsp;&lt;a href="http://pgfearo.googlepages.com/xmleditor" target="_blank"&gt;Editor Pane&lt;/a&gt;&amp;nbsp;with &lt;a href="http://pgfearo.googlepages.com/xmlchecking" target="_blank"&gt;well-formedness checking&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://pgfearo.googlepages.com/downloads" target="_blank"&gt;Download SketchPath&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.xmldev.pwp.blueyonder.co.uk/demo.htm" target="_blank"&gt;Watch Flash Demo of SketchPath&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-5305020826003880594?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/5305020826003880594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=5305020826003880594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5305020826003880594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5305020826003880594'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/sketchpath-xpath-development-and-xml.html' title='SketchPath-XPath development and XML analysis tool'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-1893266302860391262</id><published>2007-08-13T13:17:00.001-07:00</published><updated>2007-08-13T13:17:46.247-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>Refactor! For ASP.NET was released as free download.</title><content type='html'>&lt;p&gt;DevExpress has announced that &lt;a href="http://community.devexpress.com/blogs/aspnet/archive/2007/08/03/free-refactor-tool-for-asp-net.aspx" target="_blank"&gt;Refactor! For ASP.NET&lt;/a&gt;&amp;nbsp;is free for download.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Add Validator  &lt;li&gt;Extract ContentPlaceHolder  &lt;li&gt;Extract ContentPlaceHolder (and create master page)  &lt;li&gt;Extract Style (Class)  &lt;li&gt;Extract Style (id)  &lt;li&gt;Extract to UserControl  &lt;li&gt;Move to Code-behind  &lt;li&gt;Move Style Attributes to CSS  &lt;li&gt;Rename Style  &lt;li&gt;Surround with Update Panel&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You can find more details on each refactoring from&amp;nbsp;Mark's &lt;a href="http://www.doitwith.net/2007/05/07/PowerfulFreeDownloadRefactor%21ForASP.NET2.2.aspx" target="_blank"&gt;post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Make sure to check out the&amp;nbsp;informative&amp;nbsp;&lt;a href="http://www.devexpress.com/Products/NET/IDETools/RefactorASP/Presentation/Refactor_for_ASP_NET/" target="_blank"&gt;12 minute screencast&lt;/a&gt;&amp;nbsp;on the ASP.NET refactoring.&lt;/p&gt; &lt;p&gt;&lt;img height="91" src="http://community.devexpress.com/blogs/aspnet/WindowsLiveWriter/FreeRefactorToolForASP.NETstillavailable_240D/image_1.png" width="240"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-1893266302860391262?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/1893266302860391262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=1893266302860391262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/1893266302860391262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/1893266302860391262'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/refactor-for-aspnet-was-released-as.html' title='Refactor! For ASP.NET was released as free download.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4561741180840421070</id><published>2007-07-23T08:06:00.003-07:00</published><updated>2007-08-24T05:23:01.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Cyclomatic complexity measurement tool</title><content type='html'>&lt;p&gt;ccm is a tool that analyzes C/C++ and C# code and reports back on Cyclomatic Complexity.Cyclomatic complexity is computed using a graph that describes the control flow of the program. The nodes of the graph correspond to the function of a program. A directed edge connects two nodes if the second function might be executed immediately after the first function. This technique is useful to determine how complex the function of code is.  &lt;p&gt;ccm is a command line tool that accepts the path to directory you want to analyze. Using an /XML switch it will output the result as XML, making it easy to integrate with other tools, such as CruiseControl.NET, etc.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt; &lt;p&gt;Running ccm without any parameters tells you about the available switches.  &lt;p&gt;&lt;em&gt;C:\Dev\ccm\bin&amp;gt;ccm&lt;br&gt;Missing parameters. &lt;/em&gt; &lt;p&gt;&lt;em&gt;Usage:&lt;br&gt;&amp;nbsp;ccm directory [/r] [/xml] [/n:x] [/e:folderlist] [/v]&lt;br&gt;&amp;nbsp;&amp;nbsp; switches:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - act recursively on folders&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output into xml&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n:x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - list n-number of metrics (defaults to 30)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - verbose&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e:folderlist - comma-separated list of folders or paths to exclude &lt;/em&gt; &lt;p&gt;&lt;em&gt;ccm.exe ..\..\relativepath-to-sources /n:15&lt;/em&gt; &lt;p&gt;&lt;a href="http://www.blunck.se/ccm/ccm.zip" target="_blank"&gt;Download ccm&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-4561741180840421070?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4561741180840421070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=4561741180840421070' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4561741180840421070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4561741180840421070'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/cyclomatic-complexity-measurement-tool.html' title='Cyclomatic complexity measurement tool'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7604202761499651900</id><published>2007-07-09T01:37:00.001-07:00</published><updated>2007-07-09T01:37:49.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>A list of programs for keyboard maniacs</title><content type='html'>&lt;p&gt;A list of&amp;nbsp; programs for keyboard maniacs - they helps you rapidly find programs or documents from within the depths of the start menu (or other directories). &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;AutoHotKey&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.autohotkey.com/" target="_blank"&gt;http://www.autohotkey.com/&lt;/a&gt;&lt;/u&gt; - excellent Open Source (!) tool with support for scripts and hotkeys. Two scripts add similar start menu searching functionality, &lt;b&gt;Seek&lt;/b&gt; and &lt;b&gt;320mph&lt;/b&gt;. More info can be found on their &lt;u&gt;&lt;a href="http://www.autohotkey.com/forum/" target="_blank"&gt;forum&lt;/a&gt;&lt;/u&gt;. &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;Tray Command Line&lt;/b&gt; - &lt;u&gt;&lt;a href="http://traycl.chat.ru/" target="_blank"&gt;http://traycl.chat.ru/&lt;/a&gt;&lt;/u&gt; - shareware, $10&amp;nbsp;&amp;nbsp;Very nice, *tiny* application - the inspiration for this program; does not search for files, but allows you to manually create aliases to launch from they keyboard.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Key Launch&lt;/b&gt; - &lt;u&gt;&lt;a href="http://software.xfx.net/utilities/kl/index.html" target="_blank"&gt;http://software.xfx.net/utilities/kl/index.html&lt;/a&gt;&lt;/u&gt; - shareware, $12&amp;nbsp;&amp;nbsp;Similar to this program, incrementally searches through the start menu. Felt a bit clunky to me, and short on configuration options.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;RunIt!&lt;/b&gt; - &lt;u&gt;&lt;a href="http://keleos.h11.ru/" target="_blank"&gt;http://keleos.h11.ru/&lt;/a&gt;&lt;/u&gt; - now freeware!&amp;nbsp;&amp;nbsp;Very good program - has similar search functionality as Find and Run Robot and additional features for terminating apps, etc. Runs as a toolbar.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;ShellSearch&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.harmonyhollow.net/ss.shtml" target="_blank"&gt;http://www.harmonyhollow.net/ss.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Very similar in spirit to Find and Run robot, but not quite as fast to use. Free though, and lots of nice other apps by this developer too.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;WinConsole&lt;/b&gt; - &lt;u&gt;&lt;a href="http://galan.dogmalab.ru/index.php?lang=eng&amp;amp;look=soft&amp;amp;item=winconsole" target="_blank"&gt;http://galan.dogmalab.ru/index.php?lang=eng&amp;amp;look=soft&amp;amp;item=winconsole&lt;/a&gt;&lt;/u&gt; - shareware $10&amp;nbsp;&amp;nbsp;Similar to Tray Command Line, with support for hotkeys and lots of options.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Meta Launcher&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.codesector.com/commandline.asp" target="_blank"&gt;http://www.codesector.com/commandline.asp&lt;/a&gt;&lt;/u&gt; - shareware $15&amp;nbsp;&amp;nbsp;Nice looking app which also comes with a startmenu replacer and app launch bar type feature&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;OpenExpert &lt;/b&gt;- &lt;u&gt;&lt;a href="http://www.baxbex.com/openexpert.html" target="_blank"&gt;http://www.baxbex.com/openexpert.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Adds context menu to open files with a menu of applications.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;LaunchItNow&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.gemiscorp.com/english/launchitnow.html" target="_blank"&gt;http://www.gemiscorp.com/english/launchitnow.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Launch bar type app.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Stargate Link Boss&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.lincolnbeach.com/stargate.asp" target="_blank"&gt;http://www.lincolnbeach.com/stargate.asp&lt;/a&gt;&lt;/u&gt; - shareware $20 Launch panel app.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Shell Search&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.harmonyhollow.net/ss.shtml" target="_blank"&gt;http://www.harmonyhollow.net/ss.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Similar to find and run robot.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;MCL&lt;/b&gt; - &lt;u&gt;&lt;a href="http://mlin.net/MCL.shtml" target="_blank"&gt;http://mlin.net/MCL.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Similar to Tray Command Line but with some nice addons.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;CMDBar&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.pitrinec.com/pcb_index.htm" target="_blank"&gt;http://www.pitrinec.com/pcb_index.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;Persistent bar on screen that lets you type commands and has other functions.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Smart Launch&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.pxcompany.com/en/sl/index.shtml" target="_blank"&gt;http://www.pxcompany.com/en/sl/index.shtml&lt;/a&gt;&lt;/u&gt; - shareware $18&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;1st TurboRun&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.turborun.com" target="_blank"&gt;http://www.turborun.com&lt;/a&gt;&lt;/u&gt; - shareware $25 &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;CrossLaunch&lt;/b&gt; - &lt;u&gt;&lt;a href="http://methodik.pixelarmy.org/readme.html" target="_blank"&gt;http://methodik.pixelarmy.org/readme.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;JetStart&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.codesector.com/jetstart.asp" target="_blank"&gt;http://www.codesector.com/jetstart.asp&lt;/a&gt;&lt;/u&gt; - shareware $19.95&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;ESP&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.espsw.com/index.php" target="_blank"&gt;http://www.espsw.com/index.php&lt;/a&gt;&lt;/u&gt; - shareware $10 - very close in functionality and approach.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;SlickRun&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.bayden.com/SlickRun/" target="_blank"&gt;http://www.bayden.com/SlickRun/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Run!&lt;/b&gt; - &lt;u&gt;&lt;a href="http://crimsonfan.altervista.org/" target="_blank"&gt;http://crimsonfan.altervista.org/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;AppRocket&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.candylabs.com/approcket/" target="_blank"&gt;http://www.candylabs.com/approcket/&lt;/a&gt;&lt;/u&gt; - shareware (.net) $18&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;QuickFind&lt;/b&gt; - &lt;u&gt;&lt;a href="http://mitglied.lycos.de/quickfind/" target="_blank"&gt;http://mitglied.lycos.de/quickfind/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Rock-It-Launcher&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.brunswim.com/RIL/" target="_blank"&gt;http://www.brunswim.com/RIL/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;PC-Com&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.boletrice.com/pccom" target="_blank"&gt;http://www.boletrice.com/pccom&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Ava Find&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.think-less-do-more.com/avafind/" target="_blank"&gt;http://www.think-less-do-more.com/avafind/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Luanch-n-go&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.tethyssolutions.com/launch-n-go.htm" target="_blank"&gt;http://www.tethyssolutions.com/launch-n-go.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;FileTracer&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.filetracer.com/" target="_blank"&gt;http://www.filetracer.com/&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Task Tracker&lt;/b&gt; - &lt;u&gt;&lt;a href="http://tasktracker.wordwisesolutions.com/index.html" target="_blank"&gt;http://tasktracker.wordwisesolutions.com/index.html&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Instant Document Search&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.sowsoft.com/document-search.htm" target="_blank"&gt;http://www.sowsoft.com/document-search.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Getchoo&lt;/b&gt; - &lt;u&gt;&lt;a href="http://alilm.needlemen.com/drupal/?q=node/2" target="_blank"&gt;http://alilm.needlemen.com/drupal/?q=node/2&lt;/a&gt;&lt;/u&gt; - donationware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;CuteType&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.tooto.com/cutetype/" target="_blank"&gt;http://www.tooto.com/cutetype/&lt;/a&gt;&lt;/u&gt; - shareware &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;RunFast&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.idiogensoftware.com/runfast/index.htm" target="_blank"&gt;http://www.idiogensoftware.com/runfast/index.htm&lt;/a&gt;&lt;/u&gt; - freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;ZenKey&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.camiweb.com/zenkey/index.htm" target="_blank"&gt;http://www.camiweb.com/zenkey/index.htm&lt;/a&gt;&lt;/u&gt; - freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;KbStart&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.kbstart.com/" target="_blank"&gt;http://www.kbstart.com/&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Mayk&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.beotel.net/~darkdst/" target="_blank"&gt;http://www.beotel.net/~darkdst/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Locate&lt;/b&gt; - &lt;u&gt;&lt;a href="http://locate32.webhop.org/" target="_blank"&gt;http://locate32.webhop.org/&lt;/a&gt;&lt;/u&gt; - Freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;FastFind&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.guyswithtowels.com/dev/apps/fastfind.html" target="_blank"&gt;http://www.guyswithtowels.com/dev/apps/fastfind.html&lt;/a&gt;&lt;/u&gt; - Freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;99 Useful Run Commands&lt;/b&gt; - &lt;u&gt;&lt;a href="http://www.fixmyxp.com/content/view/20/42/" target="_blank"&gt;http://www.fixmyxp.com/content/view/20/42/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Type and Run&lt;/b&gt; - &lt;u&gt;&lt;a href="http://galanc.com/index.html?page=5&amp;amp;lang=en" target="_blank"&gt;http://galanc.com/index.html?page=5&amp;amp;lang=en&lt;/a&gt;&lt;/u&gt; - Freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;Filehand - &lt;u&gt;&lt;a href="http://www.filehand.com/" target="_blank"&gt;http://www.filehand.com/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Trip - &lt;u&gt;&lt;a href="http://trip.glenmurphy.com" target="_blank"&gt;http://trip.glenmurphy.com&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;Launchy - &lt;u&gt;&lt;a href="http://www.launchy.net/" target="_blank"&gt;http://www.launchy.net/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;VistaGlance - &lt;u&gt;&lt;a href="http://www.vistaglance.com/vg_screenshots.html" target="_blank"&gt;http://www.vistaglance.com/vg_screenshots.html&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Triniaut - &lt;u&gt;&lt;a href="http://trininaut.sourceforge.net/" target="_blank"&gt;http://trininaut.sourceforge.net/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Faster Than Ever - &lt;u&gt;&lt;a href="http://www.yazalim.com/products/fte/index.htm" target="_blank"&gt;http://www.yazalim.com/products/fte/index.htm&lt;/a&gt;&lt;/u&gt; - freeware  &lt;li&gt;yubnub - &lt;u&gt;&lt;a href="http://www.yubnub.org/" target="_blank"&gt;http://www.yubnub.org/&lt;/a&gt;&lt;/u&gt; - free web service&amp;nbsp;&amp;nbsp;  &lt;li&gt;Semex - &lt;u&gt;&lt;a href="http://smx.wickedorange.com/?page_id=3" target="_blank"&gt;http://smx.wickedorange.com/?page_id=3&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Direct Access - &lt;u&gt;&lt;a href="http://www.nagarsoft.com" target="_blank"&gt;http://www.nagarsoft.com&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;FindOnClick - &lt;u&gt;&lt;a href="http://www.2brightsparks.com/foc/index.html" target="_blank"&gt;http://www.2brightsparks.com/foc/index.html&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;u&gt;&lt;a href="http://www.zchromosome.com/" target="_blank"&gt;http://www.zchromosome.com/&lt;/a&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7604202761499651900?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7604202761499651900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7604202761499651900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7604202761499651900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7604202761499651900'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/list-of-programs-for-keyboard-maniacs.html' title='A list of programs for keyboard maniacs'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-8742743076042962682</id><published>2007-07-02T07:15:00.001-07:00</published><updated>2007-07-02T13:02:46.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='msbuild'/><title type='text'>Kill specific tasks from MsBuild</title><content type='html'>&lt;p&gt;This is an example that presents the way - how to kill the processes in MSBUILD script.It's very useful when you need to shutdown some application or services - to prevent the script from failing because the running processes are locked&amp;nbsp;.I use well known OS command "Taskkill" with two arguments /F (Specifies to forcefully terminate process) and /IM (Specifies the image name of the process that has to be terminated. Wildcard '*' can be used to specify all image names).  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Project&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;DefaultTargets&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; = &lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;Kill&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;xmlns&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;a href="http://schemas.microsoft.com/developer/msbuild/2003"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/a&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;!--&lt;/font&gt;&lt;font face="Courier New" color="#008000"&gt; List of processes to kill &lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;--&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;ItemGroup&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Process&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;Include&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;Process1.exe&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Process&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;Include&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;Service1.exe&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Process&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;Include&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;Engine1.exe&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;ItemGroup&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Target&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;Name&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; = &lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;Kill&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Exec&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;Command&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;taskkill /F /IM %(Process.Identity)&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; &lt;/font&gt;&lt;font face="Courier New" color="#ff0000"&gt;IgnoreExitCode&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;=&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;true&lt;/font&gt;&lt;font face="Courier New"&gt;"&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Target&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font face="Courier New" color="#800000"&gt;Project&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-8742743076042962682?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/8742743076042962682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=8742743076042962682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8742743076042962682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8742743076042962682'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/kill-specific-tasks-from-msbuild.html' title='Kill specific tasks from MsBuild'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7972800543703428720</id><published>2007-06-14T12:11:00.001-07:00</published><updated>2007-06-14T12:11:23.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Free Powershell book with examples</title><content type='html'>&lt;p&gt;MS offers &lt;a href="http://download.microsoft.com/download/a/9/4/a94270c7-ed16-4c72-8280-658c66315719/Windows%20Powershell%20-%20EN.zip" target="_blank"&gt;PowerShell book&lt;/a&gt; for free.The book can be used with or without the &lt;a href="http://download.microsoft.com/download/a/9/4/a94270c7-ed16-4c72-8280-658c66315719/PowerShell-Demofiles.zip" target="_blank"&gt;demo files&lt;/a&gt; available at Frank Koch's(MS Technology Advisor ) blog.The book introduces you a short articles with many&amp;nbsp; examples about the interaction with Windows PowerShell as well as some hints how to use other objects like WMI, .NET or COM objects like Excel or IE.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:a607c308-6c39-4cb0-84e9-54a0d257fd3c" contenteditable="false" 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/book" rel="tag"&gt;book&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/powershell" rel="tag"&gt;powershell&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7972800543703428720?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7972800543703428720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7972800543703428720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7972800543703428720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7972800543703428720'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/06/free-powershell-book-with-examples.html' title='Free Powershell book with examples'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7052121887556730122</id><published>2007-05-31T11:45:00.001-07:00</published><updated>2007-05-31T11:45:53.087-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>A new beta of JetBrains refactoring tool is available for download</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Now providing unparalleled support for C#, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;New Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unit Test Explorer  &lt;li&gt;Go To Symbol  &lt;li&gt;To-do List  &lt;li&gt;XML and XAML Support  &lt;ul&gt; &lt;li&gt;Various quick-fixes and context actions in XML  &lt;li&gt;Code completion in XML&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Code Analysis for C# Code&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font color="#808080" size="2"&gt;ReSharper 3.0 Beta is only a pre-release build of ReSharper 3.0. The final&amp;nbsp;version 3.0 release is scheduled for the end of June, 2007. If you purchase &lt;/font&gt;&lt;a href="http://www.jetbrains.com/resharper20/buy/"&gt;&lt;font color="#808080" size="2"&gt;ReSharper for VS .NET 2003&lt;/font&gt;&lt;/a&gt;&lt;font color="#808080" size="2"&gt; or &lt;/font&gt;&lt;a href="http://www.jetbrains.com/resharper/buy/"&gt;&lt;font color="#808080" size="2"&gt;ReSharper for VS 2005&lt;/font&gt;&lt;/a&gt;&lt;font color="#808080" size="2"&gt; now, you will qualify for free upgrade to&amp;nbsp;version 3.0 when it becomes available.&lt;/font&gt;  &lt;p&gt;&lt;font color="#808080" size="2"&gt;&lt;a href="http://download.jetbrains.com/resharper/ReSharperSetup.3.0.beta.msi" target="_blank"&gt;Download Full Edition&lt;/a&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#808080" size="2"&gt;&lt;a href="http://download.jetbrains.com/resharper/ReSharperSetup.3.0.CSharp.beta.msi" target="_blank"&gt;Download C# Edition&lt;/a&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#808080" size="2"&gt;&lt;a href="http://www.jetbrains.com/img/button_dl.gif" target="_blank"&gt;Download Visual Basic Edition&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-7052121887556730122?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7052121887556730122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=7052121887556730122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7052121887556730122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7052121887556730122'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/new-beta-of-jetbrains-refactoring-tool.html' title='A new beta of JetBrains refactoring tool is available for download'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-3176562352513290535</id><published>2007-05-30T12:54:00.001-07:00</published><updated>2007-05-30T12:57:09.576-07:00</updated><title type='text'>System.Reflection - FieldInfo class</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;A FieldInfo class provides detailed information about a single field of a class or an interface. The reflected field may be a static field or an instance field. The FieldInfoSpy example shows how to obtain the field information of a class including the access modifiers, type etc: &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:352da487-b0ad-488a-a1ff-0afd86ec124b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;namespace&lt;/span&gt;&lt;span style="color: #000000; "&gt; ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;internal&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; FieldInfoSpy&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] args)&lt;br /&gt;{&lt;br /&gt;    Type type &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt; (Car);&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;query type &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    FieldInfo[] fieldInfos &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; type.GetFields(&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;Specifies that instance members are to be included in the search. &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        BindingFlags.Instance &lt;/span&gt;&lt;span style="color: #000000; "&gt;|&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;Specifies that non-public members are to be included in the search. &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        BindingFlags.NonPublic &lt;/span&gt;&lt;span style="color: #000000; "&gt;|&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;Specifies that public members are to be included in the search. &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        BindingFlags.Public &lt;/span&gt;&lt;span style="color: #000000; "&gt;|&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;Specifies that static members are to be included in the search. &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        BindingFlags.Static); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FieldInfo fieldInfo &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; fieldInfos)&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine(&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name:{0},Type:{1},Public:{2},Static:{3},Readonly:{4}&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;,&lt;br /&gt;                          fieldInfo.Name,&lt;br /&gt;                          fieldInfo.FieldType.FullName,&lt;br /&gt;                          fieldInfo.IsPublic,&lt;br /&gt;                          fieldInfo.IsStatic,&lt;br /&gt;                          fieldInfo.IsInitOnly&lt;br /&gt;            );&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    Console.ReadLine();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;internal&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; Car&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; broken;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; vendor;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;readonly&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; owner;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; age;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;protected&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; name;&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;A sample of the output follows:&lt;br /&gt;&lt;p&gt;&lt;font color="#808080" size="2"&gt;Name:broken,Type:System.Boolean,Public:True,Static:False,Readonly:False&lt;br&gt;Name:owner,Type:System.String,Public:True,Static:False,Readonly:True&lt;br&gt;Name:age,Type:System.Int32,Public:False,Static:False,Readonly:False&lt;br&gt;Name:name,Type:System.String,Public:False,Static:False,Readonly:False&lt;br&gt;Name:vendor,Type:System.String,Public:False,Static:True,Readonly:False&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-3176562352513290535?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/3176562352513290535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=3176562352513290535' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3176562352513290535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3176562352513290535'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/systemreflection-fieldinfo-class.html' title='System.Reflection - FieldInfo class'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-2981269600506390865</id><published>2007-05-24T10:26:00.001-07:00</published><updated>2007-05-24T10:26:59.420-07:00</updated><title type='text'>New open source .NET blogging platform - BlogEngine.NET 1.0 Released</title><content type='html'>&lt;p&gt;Open source .NET blogging platform with nice set of features is available for download &lt;a href="http://www.dotnetblogengine.net/" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Variety of widgets&lt;/li&gt; &lt;li&gt;Commenting system &lt;/li&gt; &lt;li&gt;Syndication support (RSS, Atom, and Feedburner)&lt;/li&gt; &lt;li&gt;Support for Metaweblog API&lt;/li&gt; &lt;li&gt;Support for Trackbacks / Pingbacks&lt;/li&gt; &lt;li&gt;Blog search&lt;/li&gt; &lt;li&gt;Referrer stats&lt;/li&gt; &lt;li&gt;Theme creation&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetblogengine.net/wiki/" target="_blank"&gt;BlogEngine.NET Documentation Wiki&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.nyveldt.com/blog/post.aspx?id=eb0f73bb-66ae-49fb-8875-96f239f072bf" target="_blank"&gt;Al Nyveldt blog&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-2981269600506390865?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2981269600506390865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=2981269600506390865' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2981269600506390865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2981269600506390865'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/new-open-source-net-blogging-platform.html' title='New open source .NET blogging platform - BlogEngine.NET 1.0 Released'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-552630580436874603</id><published>2007-05-14T15:12:00.001-07:00</published><updated>2007-05-14T15:12:25.717-07:00</updated><title type='text'>A Spy++ like utility for WPF applications</title><content type='html'>&lt;p&gt;The nice tool called Snoop that I found useful while developing and debugging WPF Applications.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Browse the visual tree of running WPF applications.&lt;/li&gt; &lt;li&gt;Inspect properties of elements at runtime.&lt;/li&gt; &lt;li&gt;Edit properties of elements at runtime.&lt;/li&gt; &lt;li&gt;Inspect RoutedEvents that are occurring, including the elements that handle them.&lt;/li&gt; &lt;li&gt;Magnify sections of the User Interface.&lt;/li&gt; &lt;li&gt;Locate&amp;nbsp;and debug binding bugs.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blois.us/Snoop" target="_blank"&gt;Documentation&lt;/a&gt;&lt;br&gt;&lt;a href="http://blois.us/Snoop/Snoop.zip" target="_blank"&gt;Download&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:c9e576a9-47db-4ce9-a283-7004538d6a1c" contenteditable="false" 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/WPF" rel="tag"&gt;WPF&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XAML" rel="tag"&gt;XAML&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-552630580436874603?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/552630580436874603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=552630580436874603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/552630580436874603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/552630580436874603'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/spy-like-utility-for-wpf-applications.html' title='A Spy++ like utility for WPF applications'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-2017945555310208559</id><published>2007-03-28T15:48:00.001-07:00</published><updated>2007-03-28T15:48:18.450-07:00</updated><title type='text'>Rhino Mocks 3.0 is available for download</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A dynamic mock object framework for the .Net platform. It's purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.  &lt;p&gt;Rhino.Mocks is an attempt to create easier way to build and use mock objects and allow better refactoring support from the current tools. It's a hybrid approach between the pure Record/Replay of EasyMock.Net's model and NMock's expectation based model. Rhino.Mocks originated from EasyMock.Net and attempt to improve on their model to create easy to use and power mocking framework. It's free for use and modification for open source and commercial software.  &lt;p&gt;Licensing: Rhino Mocks is Free Software which is released under the BSD license.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;New features:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Generic Methods (at last!)  &lt;li&gt;Support arrays of value types as out parameters  &lt;li&gt;Support&amp;nbsp;non-CLS Compliant&amp;nbsp;value types such as UInt64  &lt;li&gt;Better error messages when using generic delegate methods on generic types  &lt;li&gt;Generally faster  &lt;li&gt;Using Dynamic Proxy 2 - better performance, better code-base, full support for wierd generic scenarios.  &lt;li&gt;Text.* constraints can now be used to evaluate non strings as well, by calling the ToString() method. Useful for things such as the Criteria API in NHibernate. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx" target="_blank"&gt;Download binaries and code&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-2017945555310208559?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2017945555310208559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=2017945555310208559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2017945555310208559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2017945555310208559'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/rhino-mocks-30-is-available-for.html' title='Rhino Mocks 3.0 is available for download'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-5295773081044076511</id><published>2007-03-13T11:30:00.001-07:00</published><updated>2007-03-13T11:32:05.969-07:00</updated><title type='text'>S3 Change Explorer</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;img height="230" src="http://www.solidcore.com/images/s3_change_explorer.jpg" width="288" align="right"&gt;Solidcore &lt;a href="http://www.solidcore.com/learn/s3_change_explorer.html" target="_blank"&gt;S3 Change Explorer&lt;/a&gt; is a change tracking and data analytics tool for your desktop. It keeps track of all changes on your system, and provides detailed analysis of those changes, including who made them, when, and how.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;] &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-5295773081044076511?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/5295773081044076511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=5295773081044076511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5295773081044076511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5295773081044076511'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/s3-change-explorer.html' title='S3 Change Explorer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-6018172773522386090</id><published>2007-03-06T13:30:00.001-08:00</published><updated>2007-07-06T06:04:21.734-07:00</updated><title type='text'>A collection of Microsoft.NET class libraries that implement web content syndication specifications</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Argotic is a collection of Microsoft.NET class libraries that implement common web content syndication specifications such as RSS 2.0 and ATOM 1.0. With the Argotic components, consuming syndication feeds or generating your own custom feeds has never been easier. Argotic has been designed to provide developers with a flexible provider model for storing and retrieving syndication feed information to and from the back-end database of their choice. Argotic also provides an extensible framework that allows developers to easily handle the large number of extensions in use by today's syndication specifications.  &lt;p&gt;&lt;strong&gt;Features Overview&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Complete implementation of the &lt;a href="http://www.rssboard.org/rss-specification" target="_blank"&gt;RSS 2.0 specification&lt;/a&gt;.  &lt;li&gt;Complete implementation of the &lt;a href="http://www.atomenabled.org/developers/syndication/" target="_blank"&gt;ATOM 1.0 specification&lt;/a&gt;.  &lt;li&gt;Implements a provider model for storing/retrieving syndication information to your back-end database of choice.  &lt;li&gt;Provides an extensible framework for processing any syndication specification extension.  &lt;li&gt;Natively handles the RCF822 and W3C DateTime structures.  &lt;li&gt;Support for auto-discovery of syndication feeds for a given web site.  &lt;li&gt;Supports consumption of secure/authenticated syndication feeds.  &lt;li&gt;Implementations of the most common syndication specification extensions. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Download &lt;a href="http://www.codeplex.com/Argotic" target="_blank"&gt;Argotic&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-6018172773522386090?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/6018172773522386090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=6018172773522386090' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6018172773522386090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6018172773522386090'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/collection-of-microsoftnet-class.html' title='A collection of Microsoft.NET class libraries that implement web content syndication specifications'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-117062834763905207</id><published>2007-02-04T14:32:00.000-08:00</published><updated>2007-02-04T14:33:04.743-08:00</updated><title type='text'>Propertygrid: How to show only specific file extensions?</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Use Editor Attribute&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:7079a762-80a4-4855-8fe9-92318c2764e8" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Resume&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Resume File Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Editor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(DocFileEditor), &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(UITypeEditor))]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; ResumeFile&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _ResumeFile;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _ResumeFile &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Override InitializeDialog method and provide Filter string that describes allowed file extensions&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:c43b53e2-f708-4515-95b9-b127ef85a0d8" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Collections.Generic;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Text;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Windows.Forms;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Windows.Forms.Design;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;namespace&lt;/span&gt;&lt;span style="color: #000000; "&gt; WindowsApplication1&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; DocFileEditor : FileNameEditor&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;Initializes the open file dialog when it is created.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;openFileDialog&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;The &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.Windows.Forms.OpenFileDialog&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #000000; "&gt;see&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; to use to select a file name. &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #000000; "&gt;param&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;protected&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; InitializeDialog(OpenFileDialog openFileDialog)&lt;br /&gt;    {&lt;br /&gt;        openFileDialog.CheckFileExists &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;false&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;        openFileDialog.Filter &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Doc files (*.doc)|*.doc|All files (*.*)|*.*&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-117062834763905207?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/117062834763905207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=117062834763905207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/117062834763905207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/117062834763905207'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/02/propertygrid-how-to-show-only-specific.html' title='Propertygrid: How to show only specific file extensions?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994373362503506</id><published>2007-01-27T16:22:00.000-08:00</published><updated>2007-01-28T13:45:35.056-08:00</updated><title type='text'>PropertyGrid: How to make specific property read only ?</title><content type='html'>&lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtomakespecificpropertyrea_22A6/PropertyGridReadOnly2.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="106" src="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtomakespecificpropertyrea_22A6/PropertyGridReadOnly_thumb.png" width="317" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Use ReadOnly attribute or remove set accessor ... &lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:a11f7083-7765-4b43-874a-10336925df23" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[ReadOnly(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; Age&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _Age;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _Age &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml" target="_blank"&gt;source(russian)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116994373362503506?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994373362503506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116994373362503506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994373362503506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994373362503506'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-make-specific.html' title='PropertyGrid: How to make specific property read only ?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994344347517361</id><published>2007-01-27T16:17:00.000-08:00</published><updated>2007-01-27T16:44:47.126-08:00</updated><title type='text'>PropertyGrid: How to group properties by category?</title><content type='html'>&lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtogrouppropertiesbycatego_2115/PropertyGridCategory2.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="143" src="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtogrouppropertiesbycatego_2115/PropertyGridCategory_thumb.png" width="300" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Use Category attribute .Note that properties without the attribute will be shown uder category named "Misc"&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:b155e661-9fa0-431e-8143-d9bba51c6cb1" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name of the person&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Category(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Personality&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; FirstName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Category(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Specific&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; Color HairColor&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _HairColor;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _HairColor &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml" target="_blank"&gt;source(russian)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116994344347517361?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994344347517361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116994344347517361' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994344347517361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994344347517361'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-group-properties.html' title='PropertyGrid: How to group properties by category?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994281511881404</id><published>2007-01-27T16:06:00.000-08:00</published><updated>2007-01-27T16:06:55.123-08:00</updated><title type='text'>PropertyGrid: How to show description for specific property?</title><content type='html'>&lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtoshowdescriptionforspeci_1EE9/PropertyGridDisplayNameDescription2.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="274" src="http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtoshowdescriptionforspeci_1EE9/PropertyGridDisplayNameDescription_t.png" width="300" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;Use Description attribute&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:3698d372-a315-48a3-8929-15dcf23db087" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name of the person&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; FirstName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml" target="_blank"&gt;source(russian)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116994281511881404?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994281511881404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116994281511881404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994281511881404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994281511881404'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-show-description.html' title='PropertyGrid: How to show description for specific property?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994224479833480</id><published>2007-01-27T15:57:00.000-08:00</published><updated>2007-01-27T16:01:17.843-08:00</updated><title type='text'>PropertyGrid: How to change property name?</title><content type='html'>&lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/dotnetproject/9730af3b04ec_11297/PropertyGridDisplayName2.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="99" src="http://devintelligence.com/blog-images/dotnetproject/9730af3b04ec_11297/PropertyGridDisplayName_thumb.png" width="300" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;To display property name&amp;nbsp;in readable form&amp;nbsp;you can&amp;nbsp;use DisplayName attribute&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:6ba72b25-4853-4de9-9c1c-fa89c5c5d47a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; FirstName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml" target="_blank"&gt;source(russian)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116994224479833480?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994224479833480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116994224479833480' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994224479833480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994224479833480'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-change-property.html' title='PropertyGrid: How to change property name?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116967956692761371</id><published>2007-01-24T14:59:00.000-08:00</published><updated>2007-01-24T14:59:26.953-08:00</updated><title type='text'>ASP.NET AJAX 1.0</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;ASP.NET AJAX 1.0 delivers a rich client-side AJAX library that provides cross platform, cross browser&amp;nbsp;support for a core JavaScript type-system, JSON-based network serialization stack, JavaScript component/control model, as well as common client JavaScript helper classes.&amp;nbsp; ASP.NET AJAX also delivers a rich server-side library that integrates AJAX functionality within ASP.NET, and enables developers to easily AJAX-enable existing ASP.NET 2.0 sites with minimal effort.&amp;nbsp; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;Download ASP.NET AJAX 1.0&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116967956692761371?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116967956692761371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116967956692761371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116967956692761371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116967956692761371'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/aspnet-ajax-10.html' title='ASP.NET AJAX 1.0'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116859802686449741</id><published>2007-01-12T02:33:00.000-08:00</published><updated>2007-01-12T02:33:46.890-08:00</updated><title type='text'>MSN Search SDK Beta Version 0.60</title><content type='html'>&lt;p&gt;The &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=997814fa-5bb1-4710-bf03-0d195841af34&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;MSN Search SDK&lt;/a&gt; provides documentation that describes the core concepts, requirements, development guidelines, and class library for the MSN Search Web Service. The SDK also contains sample code that demonstrates application development techniques using the MSN Search Web Service.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116859802686449741?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116859802686449741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116859802686449741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116859802686449741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116859802686449741'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/msn-search-sdk-beta-version-060.html' title='MSN Search SDK Beta Version 0.60'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116299069112475819</id><published>2006-11-08T04:58:00.000-08:00</published><updated>2006-11-08T05:00:18.463-08:00</updated><title type='text'>ReSharper UnitRun</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;ReSharper UnitRun is a &lt;strong&gt;free&lt;/strong&gt; add-in for Microsoft Visual Studio 2005 that allows you to automatically run and profile unit tests. This user-friendly tool detects test fixtures of the supported unit testing frameworks and lets you run or profile them right from the code editor or from Visual Studio's Solution Explorer.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img src="http://www.jetbrains.com/unitrun/img/popupMenu.gif"&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A dedicated window is provided to analyze test results, run or rerun any tests, and navigate from a failed test's output directly to the code line that originated the exception. Results are displayed in the Unit Test Tree View, which contains an overview of all tests in the build together with colored icons to indicate the state of each test. From this view you can start running, debugging or profiling tests.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.jetbrains.com/unitrun/img/unitTestRunnerWindow.gif" target="_new" atomicselection="true"&gt;&lt;img height="263" alt="ReSharper UnitRun" src="http://www.jetbrains.com/unitrun/img/unitTestRunnerWindow.gif" width="454"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jetbrains.com/unitrun/download/index.html" target="_blank"&gt;Download ReSharper UnitRun&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b06e243d-e293-4841-a918-da505c600b7b" contenteditable="false" 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/unit" rel="tag"&gt;unit&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/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116299069112475819?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116299069112475819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116299069112475819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116299069112475819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116299069112475819'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/11/resharper-unitrun.html' title='ReSharper UnitRun'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116228562834142819</id><published>2006-10-31T01:07:00.000-08:00</published><updated>2006-10-31T01:07:08.343-08:00</updated><title type='text'>Microsoft Visual Studio 2005 IDE Enhancements</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Visual Studio 2005 IDE Enhancements are a set of Visual Studio extensions that are designed to make you more productive. These enhancements are directly integrated into the Visual Studio IDE. Previously, these enhancements were only available via the Visual Studio 2005 SDK. This installation does not require Visual Studio 2005 SDK. &lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;b&gt;Source Code Outliner &lt;/b&gt;: The Source Outliner tool is a Visual Studio extension that provides a tree view of your source code's types and members and lets you quickly navigate to them inside the editor.&lt;br&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Visual C++ Code Snippets&lt;/b&gt;:The Visual C++ Code Snippets tool lets you insert snippets in your code by using a pop-up menu that contains programming keywords. VB.NET and C# languages have this functionality in Visual Studio 2005. &lt;br&gt;&lt;/p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;Indexed Find &lt;/b&gt;: The Indexed Find tool is a Visual Studio extension that uses the Microsoft Indexing Service to provide improved Search capabilities to the integrated development environment (IDE). It sends the results of a search to the Output Window.&lt;br&gt;&lt;/p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;Super Diff Utility&lt;/b&gt;: The Super Diff Find tool is a Visual Studio extension that compares text files. It uses color coding and graphics to show the difference between the files in deleted text (red), changed text (blue), inserted text (green). &lt;br&gt;&lt;/p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;Event Toaster Utility&lt;/b&gt;: The Event Toaster tool is a Visual Studio extension that notifies users about specific events within the Visual Studio IDE.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=cd7c6e48-e41b-48e3-881e-a0e6e97f9534&amp;amp;displaylang=en" target="_blank"&gt;Download Microsoft Visual Studio 2005 IDE Enhancements&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116228562834142819?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116228562834142819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116228562834142819' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116228562834142819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116228562834142819'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/10/microsoft-visual-studio-2005-ide.html' title='Microsoft Visual Studio 2005 IDE Enhancements'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116009073115945288</id><published>2006-10-05T16:25:00.000-07:00</published><updated>2006-10-05T16:25:31.233-07:00</updated><title type='text'>Foxit Reader 2.0 is just released.</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;"&lt;/strong&gt;&lt;em&gt;Foxit Reader 2.0 is a free PDF document viewer and printer, with incredible small size (only 1.5 M download size), breezing-fast launch speed and amazingly rich feature set. Foxit Reader 2.0 supports Windows 95/98/Me/2000/XP/2003. Its core function is compatible with PDF Standard 1.6.&lt;/em&gt;&lt;strong&gt;"&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;New Features&lt;/strong&gt;&lt;/p&gt; &lt;li&gt;Interactive form filler: Now you don't have to print out PDF forms first and then manually fill out paper forms. Instead, you can use PC to fill out interactive forms directly, and then print them out, save them, email them or export the form data into FDF file for further processing.  &lt;li&gt;Multi-language UI that can be dynamically switched:&lt;strong&gt; &lt;/strong&gt;The user interface of Foxit Reader now can be switched to different languages dynamically, thanks to the generous help from our user community.  &lt;li&gt;On-demand download of add-on:&lt;strong&gt; &lt;/strong&gt;With add-ons, the function of Foxit Reader can be extended unlimitedly. Advanced feature modules and seldom-used modules are packed as add-on to be downloaded when needed.  &lt;li&gt;Self-upgrade: In the past, when you want to upgrade Foxit Reader, you have to frequently visit Foxit website, check for new release, and then manually download the new version, uninstall the old version and re-install the new version. Now this whole process is simplified and you only need to click on the menu item "Check for update now".  &lt;li&gt;Javascript support:&lt;strong&gt; &lt;/strong&gt;Advanced users are able to use Javascript to create complex logic for PDF forms, to validate user input and process data.  &lt;li&gt;Improved printing speed:&lt;strong&gt; &lt;/strong&gt;Printing a PDF file with many images on it to a PostScript printer used to be slow. Version 2.0 has been optimized for such printing.  &lt;li&gt;Streamlined UI: Version 2.0 comes with a neat UI. Annotation tool buttons are grouped together and no longer being showed on several toolbars.&lt;/li&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.foxitsoftware.com/pdf/reader_2/down_reader.htm" target="_blank"&gt;Download Foxit Reader 2.0&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-116009073115945288?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116009073115945288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=116009073115945288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116009073115945288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116009073115945288'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/10/foxit-reader-20-is-just-released.html' title='Foxit Reader 2.0 is just released.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115995527637083217</id><published>2006-10-04T02:47:00.000-07:00</published><updated>2006-10-04T02:50:44.963-07:00</updated><title type='text'>The Most Intelligent Integrated Team Environment - TeamCity</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;JetBrains has released their &lt;a href="http://www.jetbrains.com/teamcity/" target="_blank"&gt;integrated team environment&lt;/a&gt;.  &lt;p&gt;TeamCity provides intelligent, automated running and monitoring of build processes, and facilitates integration of changes for developers working on both .Net and Java platforms.  &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;strong&gt;Top features include:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Continuous Integration Support - remotely integrate and test code changes many times a day utilizing NUnit (.NET) or JUnit (Java) testing frameworks.&amp;nbsp;  &lt;li&gt;&amp;nbsp;Effective Build Management allows running builds using such popular build tools as NAnt, MSBuild, Ant, and Maven, and immediately provides information about build results via the web interface or a special Windows Tray Notifier add-in. When a build fails, any developer can take responsibility for fixing it and quickly notify other team members that the problem is being handled.  &lt;li&gt;Innovative "Build Grid" which can utilize multiple computing &lt;br&gt;resources anywhere on your network so developers' computers don't get bogged down. Each computer in the build grid can define its own environmental parameters and TeamCity intelligently distributes testing and builds among appropriate machines as resources are available.  &lt;li&gt;Web-based Administration - developers and their managers can easily get build and test reports, see the current build status, and configure all the necessary build settings using the rich web interface. Build history and all built artifacts are also accessible.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;LarkWare News&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:4e67bfe3-9330-438f-9c97-789afa7d3c80" contenteditable="false" 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/integration" rel="tag"&gt;integration&lt;/a&gt;, &lt;a href="http://technorati.com/tags/build" rel="tag"&gt;build&lt;/a&gt;, &lt;a href="http://technorati.com/tags/net" rel="tag"&gt;net&lt;/a&gt;, &lt;a href="http://technorati.com/tags/java" rel="tag"&gt;java&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115995527637083217?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115995527637083217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115995527637083217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115995527637083217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115995527637083217'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/10/most-intelligent-integrated-team.html' title='The Most Intelligent Integrated Team Environment - TeamCity'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115983269853513337</id><published>2006-10-02T16:44:00.000-07:00</published><updated>2006-10-02T16:44:58.570-07:00</updated><title type='text'>Replacing the DHTML Editing Control in Windows Vista and Beyond</title><content type='html'>&lt;p&gt;&lt;em&gt;"The DHTML Editing Control will not be included in Windows Vista. Web pages and Windows applications that use the control must be modified to continue to provide a WYSIWYG HTML Editor."&lt;/em&gt;&lt;/p&gt; &lt;p&gt;To read more about this, check out the MSDN article at &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/htmleditinfuture.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/htmleditinfuture.asp&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:48fd50e9-13aa-434a-8429-9bc99f9c9eac" contenteditable="false" 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/vista" rel="tag"&gt;vista&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dhtml" rel="tag"&gt;dhtml&lt;/a&gt;, &lt;a href="http://technorati.com/tags/editing" rel="tag"&gt;editing&lt;/a&gt;, &lt;a href="http://technorati.com/tags/html" rel="tag"&gt;html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115983269853513337?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115983269853513337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115983269853513337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115983269853513337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115983269853513337'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/10/replacing-dhtml-editing-control-in.html' title='Replacing the DHTML Editing Control in Windows Vista and Beyond'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115892604456013733</id><published>2006-09-22T04:54:00.000-07:00</published><updated>2006-09-22T04:54:04.606-07:00</updated><title type='text'>Web Client Software Factory project Community site</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=websf" target="_blank"&gt;Web Client Software Factory&lt;/a&gt; is a guidance offering currently under development that will provide comprehensive architecture guidance to help customers build web solutions using the Microsoft platform (ASP.NET, ASP.NET AJAX, Workflow Foundation, etc). &lt;p&gt;The factory will include: &lt;ul&gt; &lt;li&gt;Scenario documentation (a description of the requirements and technical challenges that the factory will address)  &lt;li&gt;Architecture documentation  &lt;li&gt;Design patterns  &lt;li&gt;How-tos  &lt;li&gt;Guidance Packages (Visual Studio 2005 extensions for automating common tasks)  &lt;li&gt;Reference Implementations (complete sample applications using the Factory)  &lt;li&gt;Training content (Hands-On-Labs, demos, etc) &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115892604456013733?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115892604456013733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115892604456013733' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115892604456013733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115892604456013733'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/09/web-client-software-factory-project.html' title='Web Client Software Factory project Community site'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115755310765049462</id><published>2006-09-06T07:31:00.000-07:00</published><updated>2006-09-06T07:31:47.716-07:00</updated><title type='text'>Server Side Validation Library by Chad Finsterwald</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://developer.coreweb.com/articles/default4.aspx" target="_blank"&gt;This article&lt;/a&gt; will introduce you to a server side validation library. The objectives of the library are to:  &lt;ol&gt; &lt;li&gt;Provide a uniform and extensible approach for even complex validation scenarios.  &lt;li&gt;Reduce the amount of code required for user input validation.  &lt;li&gt;Create a consistent user experience with both visual and textual feedback regarding specific user input errors.  &lt;li&gt;Centralize page-level user validation so that it is easier to maintain and comprehend. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/pleloup/" target="_blank"&gt;help.net&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115755310765049462?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115755310765049462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115755310765049462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115755310765049462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115755310765049462'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/09/server-side-validation-library-by-chad.html' title='Server Side Validation Library by Chad Finsterwald'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115749394420260262</id><published>2006-09-05T15:05:00.000-07:00</published><updated>2006-09-05T15:05:45.886-07:00</updated><title type='text'>XML Notepad 2006</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;XML Notepad 2006 provides a simple intuitive User Interface for browsing and editing XML documents. &lt;p&gt;Features:  &lt;ul&gt; &lt;li&gt;Tree View synchronized with Node Text View for quick editing of node names and values.  &lt;li&gt;Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.  &lt;li&gt;Cut/copy/paste with full namespace support.  &lt;li&gt;Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.  &lt;li&gt;Infinite undo/redo for all edit operations.  &lt;li&gt;In place popup multi-line editing of large text node values.  &lt;li&gt;Configurable fonts and colors via the options dialog.  &lt;li&gt;Full find/replace dialog with support for regex and XPath.  &lt;li&gt;Good performance on large XML documents, loading a 3mb document in about one second.  &lt;li&gt;Instant XML schema validation while you edit with errors and warnings shown in the task list window.  &lt;li&gt;Intellisense based on expected elements and attributes and enumerated simple type values.  &lt;li&gt;Support for custom editors for date, dateTime and time datatypes and other types like color.  &lt;li&gt;Handy nudge tool bar buttons for quick movement of nodes up and down the tree.  &lt;li&gt;Inplace HTML viewer for processing xml-stylesheet processing instructions.  &lt;li&gt;Built-in XML Diff tool. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=72d6aa49-787d-4118-ba5f-4f30fe913628&amp;amp;DisplayLang=en" target="_blank"&gt;Download XML Notepad 2006&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115749394420260262?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115749394420260262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115749394420260262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115749394420260262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115749394420260262'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/09/xml-notepad-2006.html' title='XML Notepad 2006'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115688659725205600</id><published>2006-08-29T14:23:00.000-07:00</published><updated>2006-08-29T14:23:17.316-07:00</updated><title type='text'>Clean Sources</title><content type='html'>&lt;p&gt;This Application does one thing. It adds an explorer shell menu to folders that when selected will recursively delete the contents of the bin, obj and setup folders. If you have a .NET project that you wish to share with some one, this is useful to remove the unnecessary stuff from the folder before you zip it up and send it off.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.shahine.com/omar/content/binary/cleansources.png"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.shahine.com/software/cleansources/cleansources.zip" target="_blank"&gt;Download Clean Sources&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115688659725205600?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115688659725205600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115688659725205600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115688659725205600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115688659725205600'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/clean-sources.html' title='Clean Sources'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115677384084939032</id><published>2006-08-28T07:04:00.000-07:00</published><updated>2006-08-28T07:04:00.936-07:00</updated><title type='text'>Code Formatter Plugin for Windows Live Writer</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h5&gt;&lt;strong&gt;Features&lt;/strong&gt;:&lt;/h5&gt; &lt;ul&gt; &lt;li&gt;The ability to format the code 'live'  &lt;li&gt;The ability to&amp;nbsp;wrap lines  &lt;li&gt;The ability to change the background&amp;nbsp;color  &lt;li&gt;The ability to just quickly paste what's in the clipboard as code&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://homepage.ntlworld.com/steve_dunn/blogpics/CodeFormatterPluginforWindowsLiveWriter_14207/image04.png"&gt;&lt;img height="301" src="http://homepage.ntlworld.com/steve_dunn/blogpics/CodeFormatterPluginforWindowsLiveWriter_14207/image0_thumb2.png" width="445" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://homepage.ntlworld.com/steve_dunn/CodeFormatterPluginBinaries.zip" target="_blank"&gt;Download Code Formatter Plugin&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;tags: &lt;a href="http://technorati.com/tag/tool" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tag/plugin" rel="tag"&gt;plugin&lt;/a&gt;, &lt;a href="http://technorati.com/tag/live" rel="tag"&gt;live&lt;/a&gt;, &lt;a href="http://technorati.com/tag/blogging" rel="tag"&gt;blogging&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115677384084939032?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115677384084939032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115677384084939032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115677384084939032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115677384084939032'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/code-formatter-plugin-for-windows-live.html' title='Code Formatter Plugin for Windows Live Writer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115614336118929252</id><published>2006-08-20T23:56:00.000-07:00</published><updated>2006-08-20T23:56:01.246-07:00</updated><title type='text'>Application Updater by Wilco Bauwer</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;This new application updater is a new application updater component which is customizable and supports both WebDAV and BITS . BITS allows you to let the application download updates in the background, which means users would practically not notice anything, since BITS will use unused bandwidth.  &lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;:&lt;br&gt;Add a reference to &lt;a href="http://kunder.greit.no/wilco/Programming/AppUpdater.zip" target="_blank"&gt;Updater.zip&lt;/a&gt; and implement the IAgent interface. Your IAgent implementation will be used for getting available updates and such.&lt;br&gt;When you've done that, you write your own download implementation in case you don't want to use WebDAV or BITS to download updates.&lt;br&gt;The next thing you got to do is initialize a new Updater, add eventhandlers, and that's basically all you got to do.&lt;br&gt;If you want to check for updates, you call the Refresh method on the Updater instance, when you've detected an update you call the Download method, and when you're done with updating and want to restart the application, you use the ApplyUpdate method.  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="52DD6A77-6902-4404-991A-D62C03B41ABE:eb416faa-247b-4085-8739-0329b92dbf20" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;p&gt;&lt;/p&gt;Technorati Tags:&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/updater" rel="tag"&gt;updater&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/bits" rel="tag"&gt;bits&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/webdav" rel="tag"&gt;webdav&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115614336118929252?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115614336118929252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115614336118929252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115614336118929252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115614336118929252'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/application-updater-by-wilco-bauwer.html' title='Application Updater by Wilco Bauwer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115600053994982912</id><published>2006-08-19T08:15:00.000-07:00</published><updated>2006-08-19T08:15:39.963-07:00</updated><title type='text'>Threading in C# - By Joseph Albahari</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;a href="http://www.albahari.com/threading/" target="_blank"&gt;Threading in C#&lt;/a&gt;&lt;/b&gt; An extensive article on &lt;b&gt;multi-threading in C#&lt;/b&gt;. This tackles difficult issues such as &lt;a href="http://www.albahari.com/threading/part2.html#_Thread_Safety" target="_blank"&gt;thread safety&lt;/a&gt;, when to use &lt;a href="http://www.albahari.com/threading/part4.html#_Aborting_Threads" target="_blank"&gt;Abort&lt;/a&gt;, &lt;a href="http://www.albahari.com/threading/part4.html#_WaitPulseVsWaitHandles" target="_blank"&gt;Wait Handles vs Wait and Pulse&lt;/a&gt;, the implications of &lt;a href="http://www.albahari.com/threading/part3.html#_Apartments_and_Windows" target="_blank"&gt;Apartment Threading&lt;/a&gt; in Windows Forms, using &lt;a href="http://www.albahari.com/threading/part3.html#_Thread_Pooling" target="_blank"&gt;Thread Pooling&lt;/a&gt;, &lt;a href="http://www.albahari.com/threading/part2.html#_Synchronization_Contexts" target="_blank"&gt;Synchronization Contexts&lt;/a&gt;, Memory Barriers and &lt;a href="http://www.albahari.com/threading/part4.html#_NonBlockingSynch" target="_blank"&gt;non-blocking&lt;/a&gt; synchronization constructs. &lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/rosherove" target="_blank"&gt;Roy Osherove's Blog&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115600053994982912?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115600053994982912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115600053994982912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115600053994982912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115600053994982912'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/threading-in-c-by-joseph-albahari.html' title='Threading in C# - By Joseph Albahari'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115540507300448522</id><published>2006-08-11T23:46:00.000-07:00</published><updated>2006-08-12T10:51:13.010-07:00</updated><title type='text'>How can I prevent the SplitContainer from stealing focus?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The default behavior for the splitter is to take focus once selected. If you want the splitter to be movable without taking focus you can do one of two things:&lt;br/&gt;Insert the following code in your project, and attach these events to all of the SplitContainers that you don't want stealing focus.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #008040"&gt;// Temp variable to store a previously focused control&lt;br/&gt;private Control focused = null;&lt;br/&gt;private void splitContainer_MouseDown(object sender, MouseEventArgs e)&lt;br/&gt;{&lt;br/&gt;// Get the focused control before the splitter is focused&lt;br/&gt;focused = getFocused(this.Controls);&lt;br/&gt;}&lt;br/&gt;private Control getFocused(Control.ControlCollection controls)&lt;br/&gt;{&lt;br/&gt;foreach (Control c in controls)&lt;br/&gt;{&lt;br/&gt;if (c.Focused)&lt;br/&gt;{&lt;br/&gt;// Return the focused control&lt;br/&gt;return c;&lt;br/&gt;}&lt;br/&gt;else if (c.ContainsFocus)&lt;br/&gt;{&lt;br/&gt;// If the focus is contained inside a control's children&lt;br/&gt;// return the child&lt;br/&gt;return getFocused(c.Controls);&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;// No control on the form has focus&lt;br/&gt;return null;&lt;br/&gt;}&lt;br/&gt;private void splitContainer_MouseUp(object sender, MouseEventArgs e)&lt;br/&gt;{&lt;br/&gt;// If a previous control had focus&lt;br/&gt;if (focused != null)&lt;br/&gt;{&lt;br/&gt;// Return focus and clear the temp variable for&lt;br/&gt;// garbage collection&lt;br/&gt;focused.Focus();&lt;br/&gt;focused = null;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/splitcontainer" class="ztag" rel="tag"&gt;splitcontainer&lt;/a&gt;, &lt;a href="http://technorati.com/tag/winforms" class="ztag" rel="tag"&gt;winforms&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115540507300448522?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115540507300448522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115540507300448522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540507300448522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540507300448522'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/how-can-i-prevent-splitcontainer-from.html' title='How can I prevent the SplitContainer from stealing focus?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115540490593190272</id><published>2006-08-11T23:43:00.000-07:00</published><updated>2006-08-12T10:48:25.930-07:00</updated><title type='text'>Why isn’t the splitter visible when I run my application?</title><content type='html'>&lt;br /&gt;&lt;p&gt;If the splitter is not distinguishable from the rest of the split container, it is due to the SplitContainerPanels having the same background color as the splitter, and the BorderStyle being set to None. To make the splitter easily recognizable, change the BackColor for the SplitContainerPanels, or set the SplitContainer's BorderStyle.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/splitcontainer" class="ztag" rel="tag"&gt;splitcontainer&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115540490593190272?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115540490593190272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115540490593190272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540490593190272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540490593190272'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/why-isnt-splitter-visible-when-i-run.html' title='Why isn’t the splitter visible when I run my application?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115540484770011513</id><published>2006-08-11T23:42:00.000-07:00</published><updated>2006-08-12T10:47:27.760-07:00</updated><title type='text'>How do I select the SplitContainer at design time?</title><content type='html'>&lt;br /&gt;&lt;p&gt;If you want to select a SplitContainer control at design time, click on the splitter. If you click on either of the SplitContainerPanels, you will select them instead. Also you can use the drop down menu in the property grid to select the SplitContainer by name. Finally you can use the Document Outline to select the SplitContainer and control the Z-order of the controls within it.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/splitcontainer" class="ztag" rel="tag"&gt;splitcontainer&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115540484770011513?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115540484770011513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115540484770011513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540484770011513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115540484770011513'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/how-do-i-select-splitcontainer-at.html' title='How do I select the SplitContainer at design time?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533492239399589</id><published>2006-08-11T04:16:00.000-07:00</published><updated>2006-08-11T15:22:02.406-07:00</updated><title type='text'>Client Settings FAQ</title><content type='html'>&lt;br /&gt;&lt;strong&gt;How do I persist application settings in the registry?&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;For information on using the registry for settings, see the following SDK sample: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms181001.aspx" target="_blank"&gt;http://msdn2.microsoft.com/en-us/library/ms181001.aspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;a id="_Toc119741372" name="_Toc119741372"&gt;&lt;strong&gt;How do I use a Web service client to retrieve application settings?&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;For information on using the a Web service for settings, see the following SDK sample: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms180994.aspx" target="_blank"&gt;http://msdn2.microsoft.com/en-us/library/ms180994.aspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533492239399589?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533492239399589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533492239399589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533492239399589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533492239399589'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/client-settings-faq.html' title='Client Settings FAQ'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533465419605723</id><published>2006-08-11T04:12:00.000-07:00</published><updated>2006-08-11T15:17:34.226-07:00</updated><title type='text'>How do I get the class to serialize correctly?</title><content type='html'>&lt;br /&gt;&lt;p&gt;While most common types can be serialized in one of two ways listed above, there are some types that may not. In such cases, you have a few different options:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Implement a TypeConverter for the type that can convert to and from string. The implementation can use a suitable serialization mechanism like one of the formatters/serializers that ship in the Framework or any custom mechanism you wish. You can then specify this converter on the type itself or on the property in your settings class.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Specify a particular SettingsSerializeAs enum value using a SettingsSerializeAsAttribute. For example, if you wish to serialize a setting in binary format, simply specify SettingsSerializeAs.Binary.&lt;br/&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533465419605723?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533465419605723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533465419605723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533465419605723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533465419605723'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/how-do-i-get-class-to-serialize.html' title='How do I get the class to serialize correctly?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533064971430297</id><published>2006-08-11T03:05:00.000-07:00</published><updated>2006-08-11T14:10:49.716-07:00</updated><title type='text'>Is there any way to change or customize the path of the user.config file?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The LocalFileSettingsProvider does not provide a way to change the files in which settings are stored.&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #808080"&gt;Note: The provider itself doesn't determine the config file locations in the first place - it is the configuration system.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you need to store the settings in a different location for some reason, the recommended way is to write your own SettingsProvider. This is fairly simple to implement and you can find samples in the .NET 2.0 SDK that show how to do this. Keep in mind however that you may run into the same isolation issues mentioned above.&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533064971430297?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533064971430297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533064971430297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533064971430297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533064971430297'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/is-there-any-way-to-change-or.html' title='Is there any way to change or customize the path of the user.config file?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533054158462436</id><published>2006-08-11T03:03:00.000-07:00</published><updated>2006-08-11T14:09:01.593-07:00</updated><title type='text'>How can I get the user.config file path programmatically in a non-Clickonce app?</title><content type='html'>&lt;br /&gt;&lt;p&gt;If you want to get to the path programmatically, you can do it using the Configuration Management API. For example, here is how you can get the local user.config file path:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #808080"&gt;Note: You need to add a reference to System.Configuration.dll&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #408080"&gt;Configuration config =&lt;br/&gt;ConfigurationManager.OpenExeConfiguration(&lt;br/&gt;ConfigurationUserLevel.PerUserRoamingAndLocal);&lt;br/&gt;Console.WriteLine("Local user config path: {0}", config.FilePath);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533054158462436?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533054158462436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533054158462436' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533054158462436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533054158462436'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/how-can-i-get-userconfig-file-path.html' title='How can I get the user.config file path programmatically in a non-Clickonce app?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533037516266929</id><published>2006-08-11T03:01:00.000-07:00</published><updated>2006-08-11T14:06:15.163-07:00</updated><title type='text'>Why is there a version number in the user.config path?</title><content type='html'>&lt;br /&gt;&lt;p&gt;There are a couple of reasons why the user.config path is version sensitive:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;To support side-by-side deployment of different versions of an application (you can do this with Clickonce, for example). It is possible for different versions of the application to have different settings saved out.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When you upgrade an application, the settings class may have been altered and may not be compatible with what's saved out, which can lead to problems.&lt;br/&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533037516266929?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533037516266929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533037516266929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533037516266929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533037516266929'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/why-is-there-version-number-in.html' title='Why is there a version number in the user.config path?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533026471867319</id><published>2006-08-11T02:59:00.000-07:00</published><updated>2006-08-11T14:04:24.726-07:00</updated><title type='text'>Why is the user.config path so obscure?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The path construction algorithm has to meet certain rigorous requirements in terms of security, isolation and robustness. While we tried to make the path as easily discoverable as possible by making use of friendly, application supplied strings, it is not possible to keep the path totally simple without running into issues like collisions with other apps, spoofing etc.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsft" class="ztag" rel="tag"&gt;microsft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533026471867319?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533026471867319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533026471867319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533026471867319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533026471867319'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/why-is-userconfig-path-so-obscure.html' title='Why is the user.config path so obscure?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115533015569291479</id><published>2006-08-11T02:57:00.000-07:00</published><updated>2006-08-11T14:02:35.693-07:00</updated><title type='text'>Where is the user.config file located in a non-Clickonce app?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The path of the user.config files is structured as follows:&lt;br/&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;Profile Directory&amp;gt;\&amp;lt;Company Name&amp;gt;\&amp;lt;App Name&amp;gt;_&amp;lt;Evidence Type&amp;gt;_&amp;lt;Evidence Hash&amp;gt;\&amp;lt;Version&amp;gt;\user.config&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Where:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;Profile Directory&amp;gt;&lt;/span&gt; - is either the roaming profile directory or the local one. Settings are stored by default in the local user.config file. To store a setting in the roaming user.config file, you need to mark the setting with the SettingsManageabilityAttribute with SettingsManageability set to Roaming.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;Company Name&amp;gt;&lt;/span&gt; - is typically the string specified by the AssemblyCompanyAttribute (with the caveat that the string is escaped and truncated as necessary, and if not specified on the assembly, we have a fallback procedure).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;App Name&amp;gt;&lt;/span&gt; - is typically the string specified by the AssemblyProductAttribute (same caveats as for company name).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;Evidence Type&amp;gt;&lt;/span&gt; and &lt;span style="COLOR: #400080"&gt;&amp;lt;Evidence Hash&amp;gt;&lt;/span&gt; - information derived from the app domain evidence to provide proper app domain and assembly isolation.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="COLOR: #400080"&gt;&amp;lt;Version&amp;gt;&lt;/span&gt; - typically the version specified in the AssemblyVersionAttribute. This is required to isolate different versions of the app deployed side by side.&lt;br/&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #808080"&gt;Note: The file name is always simply 'user.config'&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115533015569291479?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115533015569291479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115533015569291479' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533015569291479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115533015569291479'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/where-is-userconfig-file-located-in.html' title='Where is the user.config file located in a non-Clickonce app?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115532988633609001</id><published>2006-08-11T02:53:00.000-07:00</published><updated>2006-08-11T13:58:06.343-07:00</updated><title type='text'>Why can't I change application scoped settings at runtime?</title><content type='html'>&lt;br /&gt;&lt;p&gt;Application scoped settings are essentially read only from the application's point of view, and aren't meant to be changed by users, but rather only the administrator. An additional reason for this has to do with how the default &lt;a href="http://msdn2.microsoft.com/library/System.Configuration.SettingsProvider" target="_blank"&gt;SettingsProvider&lt;/a&gt; stores settings. Application scoped settings are stored in the exe configuration file, and user scoped settings are stored in user.config files located in the user data path. Generally, exe config files should not be written to at runtime by the application, since the user may not have access to them. In addition, it is normally not a good idea for a user to change a file that affects every other user of the application.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/framework" class="ztag" rel="tag"&gt;framework&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115532988633609001?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115532988633609001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115532988633609001' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115532988633609001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115532988633609001'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/why-cant-i-change-application-scoped.html' title='Why can&apos;t I change application scoped settings at runtime?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115532965880371467</id><published>2006-08-11T02:49:00.000-07:00</published><updated>2006-08-11T13:54:18.853-07:00</updated><title type='text'>What is the difference between application scoped and user scoped settings?</title><content type='html'>&lt;br /&gt;&lt;p&gt;There are generally two main types of settings that applications want to store:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Static data like connection strings and web references that don't change often, but should still be possible for an admin to change.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;User preferences and customization settings that can change at any time.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Application scoped settings are useful in scenario (1) and user scoped settings are useful in scenario (2).&lt;br/&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115532965880371467?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115532965880371467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115532965880371467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115532965880371467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115532965880371467'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/08/what-is-difference-between-application.html' title='What is the difference between application scoped and user scoped settings?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115334101783457305</id><published>2006-07-19T02:25:00.001-07:00</published><updated>2006-07-19T13:30:17.840-07:00</updated><title type='text'>How do I use the WebBrowser as a HTML editor?</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: AR-SA; mso-ansi-language: EN-US; mso-fareast-language: EN-US"&gt;You can access, and write to, the HTML behind a web page being displayed by the WebBrowser using the WebBrowser.DocumentText property. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115334101783457305?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115334101783457305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115334101783457305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334101783457305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334101783457305'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/07/how-do-i-use-webbrowser-as-html-editor.html' title='How do I use the WebBrowser as a HTML editor?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115334096837502365</id><published>2006-07-19T02:25:00.000-07:00</published><updated>2006-07-19T13:29:28.380-07:00</updated><title type='text'>Why does my application with multiple WebBrowser controls use so much memory?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The &lt;span style="mso-bidi-font-weight: bold"&gt;WebBrowser&lt;/span&gt; control is a resource-intensive control. Be sure to call the &lt;a href="http://msdn2.microsoft.com/en-us/library/3cc9y48w" target="_blank" title="Dispose"&gt;Dispose&lt;/a&gt; method when you are finished using the control to ensure that all resources are released in a timely fashion. You must call the &lt;span style="mso-bidi-font-weight: bold"&gt;Dispose&lt;/span&gt; method on the same thread that attached the events, which should always be the message or user-interface (UI) thread.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115334096837502365?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115334096837502365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115334096837502365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334096837502365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334096837502365'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/07/why-does-my-application-with-multiple.html' title='Why does my application with multiple WebBrowser controls use so much memory?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115334089471804703</id><published>2006-07-19T02:23:00.000-07:00</published><updated>2006-07-19T13:28:14.786-07:00</updated><title type='text'>Where can I find information on the native interfaces?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The WebBrowser control is primarily a managed wrapper of the WebBrowser ActiveX object. There are four main unmanaged interfaces that are wrapped in one form or another:&lt;/p&gt;&lt;br /&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/iwebbrowser2.asp" target="_blank"&gt;IWebBrowser2&lt;/a&gt; - The core WebBrowser interface.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/dwebbrowserevents2/dwebbrowserevents2.asp" target="_blank"&gt;DWebBrowserEvents2&lt;/a&gt; - The WebBrowser events.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/workshop/browser/hosting/reference/ifaces/idochostuihandler/idochostuihandler.asp" target="_blank"&gt;IDocHostUIHandler&lt;/a&gt; - Provides advanced functionality such as: custom context menus, disabling accelerators &amp;amp; providing custom objects to the html script. The WebBrowser control QI's it's Site to obtain this interface.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/workshop/security/szone/reference/ifaces/iinternetsecuritymanager/iinternetsecuritymanager.asp" target="_blank"&gt;IinternetSecurityManager&lt;/a&gt; - Provides custom security for the browser control.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115334089471804703?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115334089471804703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115334089471804703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334089471804703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115334089471804703'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/07/where-can-i-find-information-on-native.html' title='Where can I find information on the native interfaces?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115139413975104647</id><published>2006-06-27T00:38:00.000-07:00</published><updated>2006-06-27T00:42:19.766-07:00</updated><title type='text'>mentas Ribbon</title><content type='html'> &lt;p&gt;&lt;span id="SampleInfoControl_LabelDescription"&gt;Basic and easy .NET 2.0 control to make your application feel like MS Office 2007 UI experience.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;img src="http://devintelligence.com/blog-images/dotnetproject/mentas-ribbon.png" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 451px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 194px" width="451" height="194"/&gt;&lt;/p&gt; &lt;span&gt;&lt;span&gt;&lt;a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=7858DBB6-6F4A-4A9D-B1B4-03C73AA16D15" target="_blank"/&gt;&lt;/span&gt;&lt;/span&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;Download mentas Ribbon&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/control" class="ztag" rel="tag"&gt;control&lt;/a&gt;, &lt;a href="http://technorati.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://technorati.com/tag/gui" class="ztag" rel="tag"&gt;gui&lt;/a&gt;, &lt;a href="http://technorati.com/tag/toolbar" class="ztag" rel="tag"&gt;toolbar&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ui" class="ztag" rel="tag"&gt;ui&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/control" class="ztag" rel="tag"&gt;control&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/gui" class="ztag" rel="tag"&gt;gui&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/toolbar" class="ztag" rel="tag"&gt;toolbar&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/ui" class="ztag" rel="tag"&gt;ui&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115139413975104647?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115139413975104647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115139413975104647' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139413975104647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139413975104647'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/mentas-ribbon.html' title='mentas Ribbon'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115139260570380972</id><published>2006-06-27T00:13:00.000-07:00</published><updated>2006-06-27T00:21:18.076-07:00</updated><title type='text'>A free charting library for .NET</title><content type='html'> &lt;p&gt;&lt;a href="http://zedgraph.org/" target="_blank"&gt;ZedGraph&lt;/a&gt; is a set of classes, written in C#, for creating 2D line and bar graphs of arbitrary datasets. The classes provide a high degree of flexibility - almost every aspect of the graph can be user-modified. At the same time, usage of the classes is kept simple by providing default values for all of the graph attributes. The classes include code for choosing appropriate scale ranges and step sizes based on the range of data values being plotted.&lt;/p&gt; &lt;p&gt;&lt;a href="http://zedgraph.org/" target="_blank"&gt;ZedGraph&lt;/a&gt; also includes a UserControl interface, allowing drag and drop editing within the Visual Studio forms editor, plus access from other languages such as C++ and VB.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Example charts generated with ZedGraph&lt;/strong&gt; &lt;br/&gt; &lt;span class="plainlinks"&gt;&lt;embed hover="true" anchor_top="151" onmouseout="" anchor_width="150" height="0" width="0" anchor_height="113" anchor_left="168" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Line_%26_Symbol_Charts"/&gt;&lt;a href="http://zedgraph.org/wiki/index.php?title=Line_%26_Symbol_Charts" target="_blank" rel="nofollow" title="Symbol Charts"&gt;&lt;img src="http://zedgraph.org/external_images/filled_curve_150.gif" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 150px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 113px" width="150" alt="filled_curve_150.gif" height="113"/&gt;&lt;/a&gt;&lt;/span&gt; &lt;embed hover="true" anchor_top="198" onmouseout="" anchor_width="127" height="0" width="0" anchor_height="16" anchor_left="322" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Line_%26_Symbol_Charts"/&gt;&lt;span class="plainlinks"&gt;&lt;embed hover="true" anchor_top="289" onmouseout="" anchor_width="150" height="0" width="0" anchor_height="113" anchor_left="168" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Bar_Charts"/&gt;&lt;a href="http://zedgraph.org/wiki/index.php?title=Bar_Charts" target="_blank" rel="nofollow" title="Bar Charts"&gt;&lt;img src="http://zedgraph.org/external_images/vertical_bars_labels_150.gif" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 150px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 113px" width="150" alt="vertical_bars_labels_150.gif" height="113"/&gt;&lt;/a&gt;&lt;/span&gt; &lt;embed hover="true" anchor_top="336" onmouseout="" anchor_width="62" height="0" width="0" anchor_height="16" anchor_left="322" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Bar_Charts"/&gt;&lt;span class="plainlinks"&gt;&lt;embed hover="true" anchor_top="427" onmouseout="" anchor_width="150" height="0" width="0" anchor_height="113" anchor_left="168" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Pie_Charts"/&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="plainlinks"&gt;&lt;a href="http://zedgraph.org/wiki/index.php?title=Pie_Charts" target="_blank" rel="nofollow" title="Pie Charts"&gt;&lt;img src="http://zedgraph.org/external_images/pie_demo_150.gif" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 150px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 113px" width="150" alt="pie_demo_150.gif" height="113"/&gt;&lt;/a&gt;&lt;/span&gt; &lt;span class="plainlinks"&gt;&lt;a href="http://zedgraph.org/wiki/index.php?title=Special_Charts" target="_blank" rel="nofollow" title="Special Charts"&gt;&lt;img src="http://zedgraph.org/external_images/combo_150.gif" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 150px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 113px" width="150" alt="combo_150.gif" height="113"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="plainlinks"&gt;&lt;a href="http://zedgraph.org/wiki/index.php?title=Charts_from_CodeProject_Tutorial" target="_blank" rel="nofollow" title="Charts"&gt;&lt;img src="http://zedgraph.org/external_images/modified_initial_150.gif" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 150px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 113px" width="150" alt="modified_initial_150.gif" height="113"/&gt;&lt;/a&gt;&lt;/span&gt; &lt;embed hover="true" anchor_top="474" onmouseout="" anchor_width="188" height="0" width="0" anchor_height="16" anchor_left="322" type="application/browster-plugin" pref_url="http://zedgraph.org/wiki/index.php?title=Charts_from_CodeProject_Tutorial"/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/chart" class="ztag" rel="tag"&gt;chart&lt;/a&gt;, &lt;a href="http://technorati.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://technorati.com/tag/net" class="ztag" rel="tag"&gt;net&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/chart" class="ztag" rel="tag"&gt;chart&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/net" class="ztag" rel="tag"&gt;net&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115139260570380972?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115139260570380972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115139260570380972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139260570380972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139260570380972'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/free-charting-library-for-net.html' title='A free charting library for .NET'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115139200093118002</id><published>2006-06-27T00:02:00.000-07:00</published><updated>2006-07-10T03:17:39.526-07:00</updated><title type='text'>TopMost Form</title><content type='html'>&lt;br /&gt;&lt;p&gt;"A topmost form is a form that overlaps all the other (non-topmost) forms even if&lt;br/&gt;it is not the active or foreground form. Topmost forms are always displayed at&lt;br/&gt;the highest point in the z-order of the windows on the desktop. You can use this&lt;br/&gt;property to create a form that is always displayed in your application,&lt;br/&gt;such as a Find and Replace tool window."&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The well known issue that the TopMost Form stealing focus ...&lt;br/&gt;The fallowing code can solve the problem.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #800000"&gt;private const int SW_SHOWNA = 8;&lt;br/&gt;private const int SW_SHOWNA = 8;&lt;br/&gt;[DllImport("user32", CharSet = CharSet.Auto)]&lt;br/&gt;private extern static int ShowWindow( IntPtr hWindow, int nCmd );&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #800000"&gt;public void MakeTopMostForm(Form frm)&lt;br/&gt;{&lt;br/&gt;ShowWindow(frm.Handle, SW_SHOWNA);&lt;br/&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115139200093118002?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115139200093118002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115139200093118002' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139200093118002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115139200093118002'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/topmost-form.html' title='TopMost Form'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115123694188408901</id><published>2006-06-25T04:58:00.000-07:00</published><updated>2006-06-25T05:02:21.943-07:00</updated><title type='text'>BytesRoad.NetSuit Library 2.0</title><content type='html'> &lt;p&gt;&lt;strong&gt;BytesRoad.NetSuit&lt;/strong&gt; Library 2.0 is a free network library for .NET platform distributed under &lt;a href="http://www.gnu.org/copyleft/gpl.html" target="_blank"&gt;GNU General Public License&lt;/a&gt;. The library is written in C# language and source codes are also available.&lt;/p&gt; &lt;p&gt;FTP functionality is exposed by &lt;strong&gt;FtpClient&lt;/strong&gt; class . This class contains high level methods that allow you to communicate with FTP server. Also available &lt;strong&gt;SocketEx&lt;/strong&gt; class. This class may be used instead of the .NET Framework's &lt;strong&gt;Socket&lt;/strong&gt; class wish your application to be able to communicate through the proxies (Socks4, Socks5 etc).&lt;/p&gt; &lt;h2&gt;&lt;a id="_Ftp" name="_Ftp"/&gt;FTP Implementation features&lt;/h2&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fully compliant with RFC 959 (File Transfer Protocol) and related documents&lt;/li&gt; &lt;li&gt;Comprehensive reference for the component (as compiled HTML file) integrated with .NET Framework SDK v1.1 help&lt;/li&gt; &lt;li&gt;Support communication with FTP server through the proxies. Following proxies are currently supported: &lt;ul&gt; &lt;li&gt;Socks4&lt;/li&gt; &lt;li&gt;Socks4a&lt;/li&gt; &lt;li&gt;Socks5, username/password authentication method supported&lt;/li&gt; &lt;li&gt;Web proxy (HTTP CONNECT method), basic authentication method supported&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;All methods requiring networking hava synchronous and asynchronous versions&lt;/li&gt; &lt;li&gt;Implementation of asynchronous methods follows .NET Asynchronous methods pattern&lt;/li&gt; &lt;li&gt;Each operation may be configured with required time out period&lt;/li&gt; &lt;li&gt;"Store unique file" command can be customized by specifying regular expression&lt;/li&gt; &lt;li&gt;Directory listing parser supports common directory listing formats and can be customized by the user-defined parser&lt;/li&gt; &lt;li&gt;Exception oriented error handling&lt;/li&gt; &lt;li&gt;Provide events for monitoring the communication process: &lt;ul&gt; &lt;li&gt;Event during data transferring&lt;/li&gt; &lt;li&gt;Event during receiving ftp items&lt;/li&gt; &lt;li&gt;Event on each FTP command sent&lt;/li&gt; &lt;li&gt;Event on each FTP response received&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;Supported on .NET Framework v1.0 and later&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;h2&gt;&lt;a id="_Sockets" name="_Sockets"/&gt;Sockets implementation features&lt;/h2&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Comprehensive reference for the component (as compiled HTML file) integrated with .NET Framework SDK v1.1 help&lt;/li&gt; &lt;li&gt;Following proxies are currently supported: &lt;ul&gt; &lt;li&gt;Socks4&lt;/li&gt; &lt;li&gt;Socks4a&lt;/li&gt; &lt;li&gt;Socks5, username/password authentication method supported&lt;/li&gt; &lt;li&gt;Web proxy (HTTP CONNECT method), basic authentication method supported&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;All methods requiring networking have synchronous and asynchronous versions&lt;/li&gt; &lt;li&gt;Implementation of asynchronous methods follows .NET Asynchronous methods pattern&lt;/li&gt; &lt;li&gt;Each operation may be configured with required time out period&lt;/li&gt; &lt;li&gt;Exception oriented error handling&lt;/li&gt; &lt;li&gt;Supported on .NET Framework v1.0 and later&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.bytesroad.com/NetSuit/download.aspx" target="_blank"&gt;Download BytesRoad.NetSuit Library 2.0&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ftp" class="ztag" rel="tag"&gt;ftp&lt;/a&gt;, &lt;a href="http://technorati.com/tag/open%20source" class="ztag" rel="tag"&gt;open source&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/ftp" class="ztag" rel="tag"&gt;ftp&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/open+source" class="ztag" rel="tag"&gt;open source&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115123694188408901?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115123694188408901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115123694188408901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115123694188408901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115123694188408901'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/bytesroadnetsuit-library-20.html' title='BytesRoad.NetSuit Library 2.0'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115088003077079986</id><published>2006-06-21T01:50:00.000-07:00</published><updated>2006-06-21T01:53:50.836-07:00</updated><title type='text'>Free SharePoint 2007 Book</title><content type='html'> &lt;p&gt;&lt;em&gt;"Future or current SharePoint developers should at least flip through the book to build a picture of how MOSS 2007 fits together and what the concepts are -- changes to the security model, site definitions, site features, Content Types, how Workflow is integrated, Excel Services -- there are a hundred small topics, you owe it to yourself to get a handle on the big picture."&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Table of Contents&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft Windows SharePoint Services 3.0&lt;/li&gt; &lt;li&gt;Building Solutions with Office SharePoint Server 2007&lt;/li&gt; &lt;li&gt;Building a Basic SharePoint Site&lt;/li&gt; &lt;li&gt;Organizing List and Documents with Site Columns and Content Types&lt;/li&gt; &lt;li&gt;Working with Features in Windows SharePoint Services&lt;/li&gt; &lt;li&gt;Windows SharePoint Services Core Development&lt;/li&gt; &lt;li&gt;Creating Workflows: The Missing Piece of Office Productivity&lt;/li&gt; &lt;li&gt;Introducing Excel Services&lt;/li&gt; &lt;li&gt;Microsoft Office InfoPath 2007 and Microsoft Office Forms Server 2007 &lt;br/&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20Development%20Projects%20with%20the%202007%20Microsoft%20Office%20System%20and%20Windows%20SharePoint%20Services%202007.pdf" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/rosherove" target="_blank"&gt;Roy Osherove's Blog&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/book" class="ztag" rel="tag"&gt;book&lt;/a&gt;, &lt;a href="http://technorati.com/tag/free" class="ztag" rel="tag"&gt;free&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sharepoint" class="ztag" rel="tag"&gt;sharepoint&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/book" class="ztag" rel="tag"&gt;book&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/free" class="ztag" rel="tag"&gt;free&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/sharepoint" class="ztag" rel="tag"&gt;sharepoint&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115088003077079986?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115088003077079986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115088003077079986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115088003077079986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115088003077079986'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/free-sharepoint-2007-book.html' title='Free SharePoint 2007 Book'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115028887417649768</id><published>2006-06-14T05:37:00.000-07:00</published><updated>2006-06-14T05:45:15.213-07:00</updated><title type='text'>Creating clonable menu items in .Net 2.0  ( Implementing CloneMenu method )</title><content type='html'> &lt;p&gt;In Windows Forms FAQ( .Net 2.0) I found that the CloneMenu method is not implemented ...:-(&lt;/p&gt; &lt;p&gt;&lt;em&gt;"With the entire ToolStrip family of controls we do not have an integrated commanding &lt;br/&gt; architecture nor do we support cloning of items to appear in multiple places. &lt;br/&gt; We do support reusing the same ToolStripDropDown or ContextMenuStrip in multiple places (non-nested). &lt;br/&gt; We understand this may require more state management and maintenance code and are looking &lt;br/&gt; at ways to improve this in the future. &lt;br/&gt; Erick Ellis, 6 January 2005 # (MS)"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;br/&gt; Here's "fast and dirty" solution:&lt;/p&gt; &lt;p&gt;&lt;span style="COLOR: #800000"&gt;using System; &lt;br/&gt; using System.Collections.Generic; &lt;br/&gt; using System.Text; &lt;br/&gt; using System.Windows.Forms; &lt;br/&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;namespace WindowsApplication66 &lt;br/&gt; { &lt;br/&gt; class CloneToolStripLabel:ToolStripLabel &lt;br/&gt; { &lt;br/&gt; public CloneToolStripLabel( string text ) &lt;br/&gt; : base(text) &lt;br/&gt; { &lt;br/&gt; } &lt;br/&gt; public CloneToolStripLabel CloneMenu() &lt;br/&gt; { &lt;br/&gt; return ( CloneToolStripLabel )this.MemberwiseClone(); &lt;br/&gt; } &lt;br/&gt; } &lt;br/&gt; }&lt;/p&gt; &lt;p&gt;&lt;br/&gt; Usage:&lt;/p&gt; &lt;p&gt;&lt;span style="COLOR: #800000"&gt;CloneToolStripLabel menuItem = new CloneToolStripLabel("Kuku"); &lt;br/&gt; toolStrip1.Items.Add(menuItem); &lt;br/&gt; toolStrip2.Items.Add(menuItem.CloneMenu());&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Also you can read this &lt;a href="http://blogs.msdn.com/jfoscoding/articles/475177.aspx" target="_blank"&gt;post&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ms" class="ztag" rel="tag"&gt;ms&lt;/a&gt;, &lt;a href="http://technorati.com/tag/toolstrip" class="ztag" rel="tag"&gt;toolstrip&lt;/a&gt;, &lt;a href="http://technorati.com/tag/winforms" class="ztag" rel="tag"&gt;winforms&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/ms" class="ztag" rel="tag"&gt;ms&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/toolstrip" class="ztag" rel="tag"&gt;toolstrip&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/winforms" class="ztag" rel="tag"&gt;winforms&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115028887417649768?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115028887417649768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115028887417649768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115028887417649768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115028887417649768'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/creating-clonable-menu-items-in-net-20.html' title='Creating clonable menu items in .Net 2.0  ( Implementing CloneMenu method )'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-115002591851822920</id><published>2006-06-11T04:35:00.000-07:00</published><updated>2006-06-13T22:47:46.840-07:00</updated><title type='text'>Save and restore the size,location and state of a Windows Form in .NET 2.0</title><content type='html'> &lt;p&gt;The fallowing example saves the properties (location, size and windows state) of a form to app.config &lt;br/&gt; when the form is closed and restores the form state when it is loaded.&lt;/p&gt; &lt;p&gt;Create three properties called Size ,Location and WindowState in project settings dialog as shown in picture:&lt;/p&gt; &lt;p&gt;&lt;a href="http://devintelligence.com/blog-images/dotnetproject/psettings.png" target="_blank"&gt;&lt;img src="http://devintelligence.com/blog-images/dotnetproject/psettings-thumb.png" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 376px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 72px" width="376" height="72"/&gt;&lt;/a&gt;&lt;/p&gt; Modify Form.Load and FormClosing methods (Use DesktopBounds (instead Form.Location and Size) &lt;br/&gt; to place form correctly on a multi screen desktop ) &lt;pre xml:space="preserve"&gt; &lt;/pre&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Consolas"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Form1_Load( &lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, EventArgs e )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// restore location and size of the form on the desktop&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.DesktopBounds =&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; Rectangle(Properties.Settings.Default.Location,&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.Size);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// restore form's window state&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.WindowState = ( FormWindowState )Enum.Parse(&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(FormWindowState),&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.WindowState);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Form1_FormClosing( &lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, FormClosingEventArgs e )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.Location = &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.DesktopBounds.Location;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.Size = &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.DesktopBounds.Size;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.WindowState =&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Enum.GetName(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(FormWindowState), &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.WindowState);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// persist location ,size and window state of the form on the desktop&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Properties.Settings.Default.Save();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;pre xml:space="preserve"&gt; &lt;/pre&gt; &lt;pre xml:space="preserve"&gt; &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br/&gt; &lt;/pre&gt;  &lt;br/&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/winform" class="ztag" rel="tag"&gt;winform&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-115002591851822920?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/115002591851822920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=115002591851822920' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115002591851822920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/115002591851822920'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/save-and-restore-sizelocation-and.html' title='Save and restore the size,location and state of a Windows Form in .NET 2.0'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114997554119815733</id><published>2006-06-10T03:35:00.000-07:00</published><updated>2006-06-10T14:39:03.146-07:00</updated><title type='text'>PowerShell Editor and IDE.</title><content type='html'> &lt;p&gt;&lt;strong&gt;PowerShellIDE&lt;/strong&gt; is the PowerShell Editor and IDE.&lt;/p&gt; &lt;p&gt;It is a graphical user interface that helps explore and exploit the vast power available with PowerShell. It contains a debugger, lets you step through PowerShell scripts, explore variables as you run your scripts and also supports many Intellisense-like functions.&lt;/p&gt; &lt;p&gt;&lt;a href="http://powershell.com/" target="_blank"&gt;Download PowerShellIDE&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/ide" class="ztag" rel="tag"&gt;ide&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/monad" class="ztag" rel="tag"&gt;monad&lt;/a&gt;, &lt;a href="http://technorati.com/tag/powershell" class="ztag" rel="tag"&gt;powershell&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/ide" class="ztag" rel="tag"&gt;ide&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/monad" class="ztag" rel="tag"&gt;monad&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/powershell" class="ztag" rel="tag"&gt;powershell&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114997554119815733?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114997554119815733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114997554119815733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114997554119815733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114997554119815733'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/powershell-editor-and-ide.html' title='PowerShell Editor and IDE.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114997393911972374</id><published>2006-06-10T03:08:00.000-07:00</published><updated>2006-06-10T14:12:19.160-07:00</updated><title type='text'>MSBuild Sidekick</title><content type='html'> &lt;p&gt;&lt;strong&gt;MSBuild Sidekick&lt;/strong&gt; is a GUI application for creating and editing build project files for Microsoft Build engine. The application provides full-fledged graphic user interface as alternative to editing build project files by hand. The full range of MSBuild schema elements is supported.&lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;MSBuild Sidekick features:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Load and modify any file complying to MSBuild schema&lt;/li&gt; &lt;li&gt;View build project structure in a tree view that displays tasks used in build, property groups and properties, item groups and items, targets and targets tasks and imported build projects.&lt;/li&gt; &lt;li&gt;Show or hide presentation of imported definitions in a project tree view&lt;/li&gt; &lt;li&gt;View MSBuild project raw XML source as you modify the project&lt;/li&gt; &lt;li&gt;Modify project default targets&lt;/li&gt; &lt;li&gt;Add or remove tasks used in build project from external assembly&lt;/li&gt; &lt;li&gt;Add, remove or modify property groups&lt;/li&gt; &lt;li&gt;Add, remove or modify properties in property groups&lt;/li&gt; &lt;li&gt;Add, remove or modify item groups&lt;/li&gt; &lt;li&gt;Add, remove or modify items in item groups&lt;/li&gt; &lt;li&gt;Add, remove or modify targets&lt;/li&gt; &lt;li&gt;Add, remove or modify selected target's tasks, tasks order&lt;/li&gt; &lt;li&gt;Modify selected task properties (including output properties specification)&lt;/li&gt; &lt;li&gt;Import or remove external build projects&lt;/li&gt; &lt;li&gt;Open any imported project from the loaded project&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.attrice.info/downloads/MSBuildSidekick_1.0.0.18.msi"&gt;Download MSBuild Sidekick&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/msbuild" class="ztag" rel="tag"&gt;msbuild&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vs2005" class="ztag" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/msbuild" class="ztag" rel="tag"&gt;msbuild&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/vs2005" class="ztag" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114997393911972374?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114997393911972374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114997393911972374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114997393911972374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114997393911972374'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/msbuild-sidekick.html' title='MSBuild Sidekick'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114924298612051326</id><published>2006-06-01T16:06:00.000-07:00</published><updated>2006-06-02T03:09:46.166-07:00</updated><title type='text'>How to prevent the UserControl class to appear in the Visual Studio toolbox</title><content type='html'> &lt;p&gt;You can prevent the UserControl class to appear in the Visual Studio toolbox by adding fallowing attribute to it&lt;/p&gt; &lt;p&gt;&lt;span style="COLOR: #804040"&gt;&lt;strong&gt;[System.ComponentModel.ToolboxItem(false)]&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Remember that this attribute is inheritable ,so derived UserControls must place have a &lt;span style="COLOR: #804040"&gt;&lt;strong&gt;System.ComponentModel.ToolboxItem(false)&lt;/strong&gt;&lt;/span&gt; attribute if they want to be available on the Visual Studio toolbox .&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/component" class="ztag" rel="tag"&gt;component&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vs" class="ztag" rel="tag"&gt;vs&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/component" class="ztag" rel="tag"&gt;component&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/vs" class="ztag" rel="tag"&gt;vs&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114924298612051326?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114924298612051326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114924298612051326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114924298612051326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114924298612051326'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/06/how-to-prevent-usercontrol-class-to.html' title='How to prevent the UserControl class to appear in the Visual Studio toolbox'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114911321914588893</id><published>2006-05-31T04:03:00.000-07:00</published><updated>2006-05-31T15:06:59.190-07:00</updated><title type='text'>Free Ebook about Windows PowerShell</title><content type='html'> &lt;p&gt;&lt;a href="http://nexus.realtimepublishers.com/EBMPS.htm" target="_blank"&gt;Download a free Ebook about Windows PowerShell( An Introduction to Microsoft PowerShell by Don Jones )&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[ Via &lt;a id="_ctl0____ctl0____ctl2___BlogTitle" href="http://msmvps.com/blogs/andersonpatricio/default.aspx" target="_blank" name="_ctl0____ctl0____ctl2___BlogTitle"&gt;Anderson Patricio Blog&lt;/a&gt; ]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/ebook" class="ztag" rel="tag"&gt;ebook&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/powershell" class="ztag" rel="tag"&gt;powershell&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/ebook" class="ztag" rel="tag"&gt;ebook&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/powershell" class="ztag" rel="tag"&gt;powershell&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114911321914588893?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114911321914588893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114911321914588893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114911321914588893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114911321914588893'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/free-ebook-about-windows-powershell.html' title='Free Ebook about Windows PowerShell'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114902739330225712</id><published>2006-05-30T04:13:00.000-07:00</published><updated>2006-05-30T15:16:33.306-07:00</updated><title type='text'>SQL Prompt</title><content type='html'> &lt;p&gt;&lt;strong&gt;SQL Prompt&lt;/strong&gt; provides Intellisense® style auto-completion for Microsoft SQL Server editors. It will tell you the exact formatting you should use for your SQL commands, while you are writing them and will therefore help you write fast, perfectly formatted SQL statements. SQL Prompt improves the productivity of all SQL script creation. SQL Prompt can be downloaded free until 1st September 2006.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SQL Prompt&lt;/strong&gt; simply sits behind the scenes and provides unobtrusive help when you press Ctrl-Space or when you type "." after a table/view/alias name.&lt;/p&gt; &lt;p&gt;Features:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Table/View name completion&lt;/li&gt; &lt;li&gt;Column name completion&lt;/li&gt; &lt;li&gt;Stored procedure name completion&lt;/li&gt; &lt;li&gt;USE completion&lt;/li&gt; &lt;li&gt;JOIN/JOIN ON completion&lt;/li&gt; &lt;li&gt;Auto-uppercasing of keywords&lt;/li&gt; &lt;li&gt;Auto-popup after keywords&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br/&gt; &lt;em&gt;SQL Prompt works with Microsoft Query Analyzer, SQL Server 2005 Management Studio, Visual Studio 2005, Visual Studio .NET 2003, SQL Server 2000 Enterprise Manager, UltraEdit32. &lt;br/&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.red-gate.com/products/SQL_Prompt/index.htm" target="_blank"&gt;Get Free Copy Of SQL Promt&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/database" class="ztag" rel="tag"&gt;database&lt;/a&gt;, &lt;a href="http://technorati.com/tag/intellisense" class="ztag" rel="tag"&gt;intellisense&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sql" class="ztag" rel="tag"&gt;sql&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/database" class="ztag" rel="tag"&gt;database&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/intellisense" class="ztag" rel="tag"&gt;intellisense&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/sql" class="ztag" rel="tag"&gt;sql&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114902739330225712?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114902739330225712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114902739330225712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114902739330225712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114902739330225712'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/sql-prompt.html' title='SQL Prompt'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114902641321436596</id><published>2006-05-30T03:57:00.000-07:00</published><updated>2006-05-30T15:03:36.083-07:00</updated><title type='text'>{smartassembly}</title><content type='html'> &lt;p&gt;&lt;strong&gt;{smartassembly}&lt;/strong&gt; is an innovative all-in-one improvement and protection tool. &lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Merges your Application dependencies with your main Assembly.&lt;/li&gt; &lt;li&gt;Automatically Detects and Removes the non-useful code and metadata.&lt;/li&gt; &lt;li&gt;{smartassembly} is a smart Obfuscator, which automatically detects which code can or can't be obfuscated. {smartassembly} also encodes the strings in order to improve protection.&lt;/li&gt; &lt;li&gt;The combination of the previous features leads to an improvement of your Application's performances.&lt;/li&gt; &lt;li&gt;Automatically adds missing exceptions handling, and Reports these exceptions with detailed snapshot information to the developer.&lt;/li&gt; &lt;li&gt;One-stop Improvement and Protection tool in one single post-compilation process. &lt;br/&gt;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;&lt;strong&gt;{smartassembly}&lt;/strong&gt; is available in 3 editions:&lt;/p&gt; &lt;p&gt;The Standard edition is perfect for a small and simple project. &lt;br/&gt; The Professional edition, thanks to its advanced debugging capabilities, enables to improve and protect larger and more complexes projects. &lt;br/&gt; The Enterprise edition, thanks to its customization capabilities, enables to improve and protect your enterprise projects.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.smartassembly.com/download/index.aspx" target="_blank"&gt;Download {smartassembly}&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://technorati.com/tag/protection" class="ztag" rel="tag"&gt;protection&lt;/a&gt;, &lt;a href="http://technorati.com/tag/reporting" class="ztag" rel="tag"&gt;reporting&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/development" class="ztag" rel="tag"&gt;development&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/protection" class="ztag" rel="tag"&gt;protection&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/reporting" class="ztag" rel="tag"&gt;reporting&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114902641321436596?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114902641321436596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114902641321436596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114902641321436596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114902641321436596'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/smartassembly.html' title='{smartassembly}'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114891663534851035</id><published>2006-05-29T08:27:00.000-07:00</published><updated>2006-05-29T08:30:35.376-07:00</updated><title type='text'>Front-end application for ILMerge</title><content type='html'> &lt;p&gt;&lt;a href="http://sourceforge.net/projects/gilma/" target="_blank"&gt;Gilma&lt;/a&gt; is a front-end application for ILMerge: Microsoft's command-line utility that can be used to merge multiple .NET assemblies into a single assembly. &lt;a href="http://research.microsoft.com/~mbarnett/ILMerge.aspx" target="_blank"&gt;ILMerge&lt;/a&gt; is freely available from Microsoft's web site. ILMerge's license does allow commercial usage.&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/"&gt;Larkware&lt;/a&gt;] &lt;br/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114891663534851035?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114891663534851035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114891663534851035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114891663534851035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114891663534851035'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/front-end-application-for-ilmerge.html' title='Front-end application for ILMerge'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114882209684746064</id><published>2006-05-28T06:12:00.000-07:00</published><updated>2006-05-28T06:14:56.880-07:00</updated><title type='text'>An easy way to find out if an application will cause troubles on Windows Vista</title><content type='html'> &lt;p&gt;The Standard User Analyzer helps developers and IT professionals diagnose issues that would prevent a program from running properly without administrator privileges. On Windows Vista, even administrators run most programs with standard user privileges by default, so it is important to ensure that your application does not have administrator access as a dependency.&lt;/p&gt; &lt;p&gt;Using the Standard User Analyzer to test your application can identify the following administrator dependencies and return the results in a graphical interface:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;span&gt;File access&lt;/span&gt;&lt;/li&gt; &lt;li&gt;Registry access&lt;/li&gt; &lt;li&gt;INI files&lt;/li&gt; &lt;li&gt;Token issues&lt;/li&gt; &lt;li&gt;Security privileges&lt;/li&gt; &lt;li&gt;Name space issues&lt;/li&gt; &lt;li&gt;Other issues&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;This tool also complements the Application Compatibility Toolkit (ACT) 5.0. ACT 5.0 will include a User Account Control agent that you can deploy to user desktops to identify applications that require administer privileges. The Standard User Analyzer is designed to be run on the developer or tester's workstation to test and troubleshoot a specific application. Issues identified with the Standard User Analyzer can also be entered into you ACT 5.0 database so you can track the application compatibility across your environment.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=df59b474-c0b7-4422-8c70-b0d9d3d2f575&amp;amp;DisplayLang=en" target="_blank"&gt;Download Microsoft Standard User Analyzer.&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/analyze" class="ztag" rel="tag"&gt;analyze&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsft" class="ztag" rel="tag"&gt;microsft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vista" class="ztag" rel="tag"&gt;vista&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114882209684746064?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114882209684746064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114882209684746064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114882209684746064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114882209684746064'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/easy-way-to-find-out-if-application.html' title='An easy way to find out if an application will cause troubles on Windows Vista'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114874471712566526</id><published>2006-05-26T21:42:00.000-07:00</published><updated>2006-05-27T08:47:06.676-07:00</updated><title type='text'>Live Gadget SDK version 0.5 (Beta)</title><content type='html'> &lt;div class="topicText"&gt;The &lt;a href="http://microsoftgadgets.com/livesdk/index.htm" target="_blank"&gt;Windows Live Gadget SDK&lt;/a&gt; provides everything you need to get started with developing Gadgets that run on &lt;a href="http://live.com/" target="_blank"&gt;Live.com&lt;/a&gt;.&lt;/div&gt; &lt;div class="topicText"&gt;The Windows Live Gadget SDK consists of the following: &lt;ul&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/default.htm" target="_blank"&gt;Windows Live Gadget Developer's Guide&lt;/a&gt; If this is the first time you are developing a Live Gadget, we recommend that you start here.&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/apiref.htm" target="_blank"&gt;API Reference&lt;/a&gt; Documentation on the complete the Windows Live Gadget API that you can program to.&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/uiguide.htm" target="_blank"&gt;Gadget Design Guide&lt;/a&gt; Guidelines to help you with building a beautiful Gadget that will follows our guidelines.&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/projtemplate.htm" target="_blank"&gt;Windows Live Gadget Project Template&lt;/a&gt; A project template that you can install into Visual Studio 2005 or Visual Web Developer Express 2005 to make Live Gadget development much easier!&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/samples.htm" target="_blank"&gt;Additional Samples&lt;/a&gt; Extra samples to show you how to write code to accomplish certain tasks.&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/faq.htm" target="_blank"&gt;Developer FAQ&lt;/a&gt; Answers your most frequently asked questions.&lt;/li&gt; &lt;li&gt;&lt;a href="http://microsoftgadgets.com/livesdk/docs/resources.htm" target="_blank"&gt;Development Resources&lt;/a&gt; Other resources to help you be successful with building that awesome Gadget! Includes Community resources, references and tutorials on JavaScript &amp;amp; DOM, HTML &amp;amp; CSS, and much more!&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/gadget" class="ztag" rel="tag"&gt;gadget&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sdk" class="ztag" rel="tag"&gt;sdk&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;br/&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114874471712566526?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114874471712566526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114874471712566526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114874471712566526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114874471712566526'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/live-gadget-sdk-version-05-beta.html' title='Live Gadget SDK version 0.5 (Beta)'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114842106946685264</id><published>2006-05-23T03:48:00.000-07:00</published><updated>2006-05-23T15:05:38.933-07:00</updated><title type='text'>NUnit 2.4 alpha has been released</title><content type='html'>&lt;h3&gt;NUnit 2.4 Alpha Release&lt;/h3&gt;&lt;h4&gt;General&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The source code directory structure has been reorganized to separate NUnitFramework and NUnitCore.&lt;/li&gt;&lt;li&gt;A new nunit.common assembly isolates core interfaces.&lt;/li&gt;&lt;li&gt;The following assemblies are now strongly named: nunit.mocks, nunit.core.extensions and nunit.framework.extensions&lt;/li&gt;&lt;li&gt;NUnit may now be installed by non-administrators, subject to any security restrictions imposed by the particular site.&lt;/li&gt;&lt;li&gt;The .Net 2.0 builds of NUnit are now called "NUnit for .Net 2.0"&lt;/li&gt;&lt;li&gt;The NAnt build script has been simplified and now consists only of the &lt;strong&gt;nunit.build&lt;/strong&gt; and &lt;strong&gt;nunit.build.include&lt;/strong&gt; files.&lt;/li&gt;&lt;li&gt;The NAnt build script now has a target for building under the Mono 2.0 profile.&lt;/li&gt;&lt;li&gt;NUnit is now been built and tested using both Microsoft .Net (1.0, 1.1, 2.0) and Mono (1.0 and 2.0 profiles).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;Core&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;When multiple assemblies are loaded, they may use a single AppDomain, as now, or a separate AppDomain for each assembly. The new option provides greater isolation of the tests and allows use of separate config files for each assembly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; In the Alpha release, separate config files are required when this option is used, even if an NUnit project is loaded.&lt;/li&gt;&lt;li&gt;The automatic creation of test suites for each namespace is now optional. When the creation of these suites is suppressed, the fixtures are loaded as a simple flat list, without any hierarchy imposed.&lt;/li&gt;&lt;li&gt;When multiple assemblies are loaded, the tests may optionally be merged. If automatic namespace suites are enabled, namespaces are merged across assemblies. This option is only available if a single AppDomain is used.&lt;/li&gt;&lt;li&gt;The fixture object is created for the life of the test run and is no longer reused on subsequent runs. If the object implements IDisposable, Dispose is called before destroying it.&lt;/li&gt;&lt;li&gt;The current directory is set to the location of the test assembly before running each fixture. This change facilitates running fixtures in any order and eliminates interference between fixtures that change the current directory.&lt;/li&gt;&lt;li&gt;Non-public fixture classes are treated as non-runnable and display a warning message rather than being silently ignored.&lt;/li&gt;&lt;li&gt;A new SetUpFixture allows one-time SetUp and TearDown at the level of a NameSpace or for an entire assembly.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The TestRunner no longer passes "live" tests back to the gui or console. Instead, a data class that encapsulates the info about the test is sent.&lt;/li&gt;&lt;li&gt;Registry settings are now stored under nunit.org. Old settings are migrated automatically when the application is first run.&lt;/li&gt;&lt;li&gt;When the default config for a test project is set to "NUnitAutoConfig" the configuration of the current NUnit build is automatically selected for the tests, if available. This is intended for use by NUnit developers.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114842106946685264?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114842106946685264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114842106946685264' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114842106946685264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114842106946685264'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/nunit-24-alpha-has-been-released.html' title='NUnit 2.4 alpha has been released'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114842064803681899</id><published>2006-05-23T03:41:00.000-07:00</published><updated>2006-06-22T01:05:30.923-07:00</updated><title type='text'>DebuggerDisplayAttribute</title><content type='html'>&lt;p&gt;The DebuggerDisplay attribute (System.Diagnostics.DebuggerDisplayAttribute) controls how a class or field is displayed in the debugger variable windows. This attribute can be applied to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Classes&lt;/li&gt;&lt;li&gt;Structs&lt;/li&gt;&lt;li&gt;Delegates&lt;/li&gt;&lt;li&gt;Enums&lt;/li&gt;&lt;li&gt;Fields&lt;/li&gt;&lt;li&gt;Interfaces&lt;/li&gt;&lt;li&gt;Properties&lt;/li&gt;&lt;li&gt;Assemblies&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The following code example shows how to use DebuggerDisplay&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; BACKGROUND: white; BORDER-BOTTOM-WIDTH: 1pt; BORDER-BOTTOM-COLOR: windowtext; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0ptfont-size:10pt;color:black;"  &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;namespace&lt;/span&gt; ConsoleApplication11&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;[DebuggerDisplay("OnlineResource: {_Url} {_Port}.")]&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; OnlineResource&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; _Url;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; _Port;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; OnlineResource(&lt;span style="color:blue;"&gt;string&lt;/span&gt; url,&lt;span style="color:blue;"&gt;int&lt;/span&gt; port)&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.Url = url;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.Port = port;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Url&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; _Url;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;_Url = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Port&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; _Port;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;_Port = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114842064803681899?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114842064803681899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114842064803681899' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114842064803681899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114842064803681899'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/debuggerdisplayattribute.html' title='DebuggerDisplayAttribute'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114836909450206677</id><published>2006-05-23T00:22:00.000-07:00</published><updated>2006-05-23T14:46:07.443-07:00</updated><title type='text'>Invasion of the Robot Context</title><content type='html'>&lt;p&gt;Microsoft is challenging developers worldwide to create conversational robots, or BOTs, for MSN® Messenger and Windows Live™ Messenger. The most original, useful robots collect &lt;a href="http://www.robotinvaders.com/main/Prizes.aspx" target="_blank"&gt;$40,000&lt;/a&gt; in total prizes.&lt;/p&gt;&lt;p&gt;Robots or "BOTs", are software programs that you can add to MSN® Messenger and Windows Live™ Messenger. If you add a robot to your contact list, it can chat, give you customer service support, perform searches, make suggestions, play games and more.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.robotinvaders.com/main/Register.aspx" target="_blank"&gt;Registration&lt;/a&gt; is open until September 15, 2006&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114836909450206677?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114836909450206677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114836909450206677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114836909450206677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114836909450206677'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/invasion-of-robot-context.html' title='Invasion of the Robot Context'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114820657468341804</id><published>2006-05-21T03:13:00.000-07:00</published><updated>2006-05-21T03:20:06.053-07:00</updated><title type='text'>PHLAT</title><content type='html'>&lt;p&gt;PHLAT is a new interface for &lt;a href="http://toolbar.msn.com/" target="_blank"&gt;Windows Desktop Search&lt;/a&gt; (enabling search through a user's own email, files, and viewed web pages). PHLAT lets you easily specify queries and filters, attempting to integrate search and browse in one intuitive interface. In addition, Phlat supports a unified tagging (labeling) scheme for organizing personal content across storage systems (files, email, etc.).&lt;br /&gt;&lt;br /&gt;Click &lt;a href="http://research.microsoft.com/adapt/phlat/getting_started.aspx" target="_blank"&gt;here&lt;/a&gt; to read more about PHLAT!&lt;br /&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/labeling" rel="tag"&gt;labeling&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/search" rel="tag"&gt;search&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/tagging" rel="tag"&gt;tagging&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/windows" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/labeling" rel="tag"&gt;labeling&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/search" rel="tag"&gt;search&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/tagging" rel="tag"&gt;tagging&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/windows" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114820657468341804?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114820657468341804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114820657468341804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114820657468341804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114820657468341804'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/phlat.html' title='PHLAT'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114820552520540965</id><published>2006-05-21T02:56:00.000-07:00</published><updated>2006-05-21T03:19:49.123-07:00</updated><title type='text'>Sun Project Tango</title><content type='html'>&lt;p&gt;&lt;a href="https://wsit.dev.java.net/" target="_blank"&gt;Project Tango&lt;/a&gt; develops and evolves the codebase for Web Services Interoperability Technologies (WSIT) that enable interoperability between the Java platform and Windows Communication Foundation (WCF) (aka Indigo).&lt;br /&gt;Project Tango uses JAX-WS and JAXB as a foundation upon which to build plugins to provide web services features such as bootstrapping communication, optimizing communication, reliable messaging, atomic transactions, security and trust.&lt;br /&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/indigo" rel="tag"&gt;indigo&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/java" rel="tag"&gt;java&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/sun" rel="tag"&gt;sun&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/wcf" rel="tag"&gt;wcf&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/webservice" rel="tag"&gt;webservice&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/indigo" rel="tag"&gt;indigo&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/java" rel="tag"&gt;java&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/sun" rel="tag"&gt;sun&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/wcf" rel="tag"&gt;wcf&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/webservice" rel="tag"&gt;webservice&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114820552520540965?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114820552520540965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114820552520540965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114820552520540965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114820552520540965'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/sun-project-tango.html' title='Sun Project Tango'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114819576168136570</id><published>2006-05-21T00:13:00.000-07:00</published><updated>2006-05-21T03:19:20.626-07:00</updated><title type='text'>MSF 4.0 (Microsoft Solutions Framework) Resources</title><content type='html'>&lt;p&gt;This is the &lt;a href="http://weblogs.asp.net/lbarbieri/articles/MSF4_Resources.aspx" target="_blank"&gt;list of resources about MSF 4.0&lt;/a&gt; (Microsoft Solutions Framework) by &lt;a href="http://weblogs.asp.net/lbarbieri" target="_blank"&gt;Lorenzo Barbieri&lt;/a&gt;.&lt;br /&gt;MSF 4 it's the first version that will be available not only as a set of documents and templates, but also integrated in a Microsoft product (Team Foundation Server, part of the Visual Studio Team System family)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/design" rel="tag"&gt;design&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/development" rel="tag"&gt;development&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/msf" rel="tag"&gt;msf&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/design" rel="tag"&gt;design&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/development" rel="tag"&gt;development&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/msf" rel="tag"&gt;msf&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114819576168136570?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114819576168136570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114819576168136570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114819576168136570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114819576168136570'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/msf-40-microsoft-solutions-framework.html' title='MSF 4.0 (Microsoft Solutions Framework) Resources'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114815023808816474</id><published>2006-05-20T00:34:00.000-07:00</published><updated>2006-05-20T11:46:27.190-07:00</updated><title type='text'>C5 is a library of generic collection classes for C# and other CLI languages</title><content type='html'>&lt;p&gt;The C5 collection library provides the following collection concepts, described by C# interfaces: Directed enumerable, collection value, directed collection value, extensible collection, collection, sequenced collection, indexed collection, sorted collection, indexed sorted collection, persistent sorted collection, list, LIFO stack, FIFO queue, priority queue, dictionary, and sorted dictionary.&lt;br /&gt;The C5 collection library provides the following data structures, described by C# classes: array list, doubly linked list, hash-indexed array list, hash-indexed linked list, hash set, hash bag (multiset), sorted array, wrapped array, tree set, tree bag (multiset), stack, double-ended queue, circular queue, priority queue (interval heap), hash dictionary, and tree dictionary.&lt;/p&gt;&lt;p&gt;The C5 collection library provides the following unusual functionality on collections and dictionaries: collection update events, multiple updatable list views, reversible enumeration, hash indexes on lists, snapshottable tree-based collections, priority queues with item handles, and in general a design with emphasis on orthogonality, flexibility, and preservation of invariants.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.itu.dk/research/c5/" target="_blank"&gt;Go to The C5 Generic Collection Library Site&lt;/a&gt;&lt;/p&gt;&lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/rosherove/archive/2006/05/20/447792.aspx" target="_blank"&gt;Roy Osherove's Blog&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/cli" rel="tag"&gt;cli&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/collection" rel="tag"&gt;collection&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/library" rel="tag"&gt;library&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/cli" rel="tag"&gt;cli&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/collection" rel="tag"&gt;collection&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/library" rel="tag"&gt;library&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114815023808816474?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114815023808816474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114815023808816474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114815023808816474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114815023808816474'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/c5-is-library-of-generic-collection.html' title='C5 is a library of generic collection classes for C# and other CLI languages'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114801964843949352</id><published>2006-05-18T12:18:00.000-07:00</published><updated>2006-05-18T23:23:01.393-07:00</updated><title type='text'>Visual Studio 2005 add-in - x.doc</title><content type='html'>&lt;p&gt;x.doc is a Visual Studio 2005 add-in that provides a means to manage and visualize source-code comment documentation interactively in the IDE.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;x.doc Features:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;x.doc&lt;/strong&gt; provides two windows:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The &lt;strong&gt;Visualizer&lt;/strong&gt; window which is the window that provides the rendered XML documentation text using a defined set of XSL templates and a CSS. This window is interactively updated as the caret is moved in a code-editor window. If the documentation is not well-formed XML or an error occurs in the rendering, an error is displayed in this window. If the caret is not positioned in a documentation block, the message "No documentation" is displayed. This window is implemented to work as a standard 'Tool Window' in the IDE, and can be floated, docked etc. like any other tool window.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;Output&lt;/strong&gt; window which is similar to the IDE build window in that it displays the error with the appropriate source-code file path and line and character position offsets. Double-clicking the error line in this window will move the caret to the referenced editor window and offset in the code at which the error has occurred. It shares the standard output window and its content is displayed by selecting the &lt;strong&gt;x.doc&lt;/strong&gt; menu-item in the '&lt;em&gt;Show output from:&lt;/em&gt;' selector.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;x.doc&lt;/strong&gt; provides a menu tool-strip above the &lt;strong&gt;Visualizer&lt;/strong&gt; window, and the available commands are described below as they are ordered on the tool-strip (from left-to-right):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Prior Documentation Item&lt;/strong&gt;: This button command moves the caret to the prior documentation block in the code editor window and selects the block as shown in Figure 1 above.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Next Documentation Item&lt;/strong&gt;: This command moves the caret to the next documentation block.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Collapse All Documentation&lt;/strong&gt;: This command traverses the entire code document and outlines the documentation blocks. Each documentation block is shown only by three ellipses ('...') and is an effective way to quickly hide all the documentation.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Import Documentation Item&lt;/strong&gt;: This button command imports the documentation from an external file and embeds it as a documentation block in the source-code. This will only happen if the caret is positioned over a single-line documentation block containing a well-formed &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt; tag that points to a valid external documentation file with a name attribute that can be resolved to a documentation item in the external file.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Export Documentation Item&lt;/strong&gt;: This command reverses the action of the 'Import Documentation Item' above. The documentation block is exported to the external documentation file and a suitably formed &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt; tag is substituted in its place. . Note that badly-formed XML is exported "as-is", so it is best to check the &lt;strong&gt;Output&lt;/strong&gt; window for errors before exporting the documentation block.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Import All Documentation&lt;/strong&gt;: This command works the same as the "Import Documentation Item" above, except that it traverses the entire source-code file and imports all documentation.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Export All Documentation&lt;/strong&gt;: This command exports all documentation to the external documentation file, reversing the action executed by 'Import All Documentation' above.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Documentation Display Style Selector&lt;/strong&gt;: This selection list will accommodate any number of XSL/CSS templates which are imported from external &lt;em&gt;.xsl&lt;/em&gt; and &lt;em&gt;.css&lt;/em&gt; files when the add-in is first loaded. The XSL/CSS files &lt;em&gt;x.doc.xsl&lt;/em&gt; and &lt;em&gt;x.doc.css&lt;/em&gt; are included with the &lt;strong&gt;x.doc&lt;/strong&gt; add-in installer and provides a pseudo-MSDN documentation look-and-feel. Obviously, these files can be modified or more style files added, which can then be individually selected, causing the documentation to be immediately re-rendered using the selected style. It is also possible to extend the VS IDE documentation tags and provide customized documentation functionality. &lt;a href="http://ndoc.sourceforge.net/"&gt;NDoc&lt;/a&gt; already does this to provide the various standards of documentation-styles, including their MSDN style, which is exactly like the Microsoft H1 and H2 Help.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;x.doc&lt;/strong&gt; is completely NDoc compatible, in that the XML files that are generated by VS when you compile with the &lt;em&gt;/doc:file&lt;/em&gt; option can be used as-is with NDoc. This applies whether the documentation is read directly from the source-code, or from an external file.&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/addin" rel="tag"&gt;addin&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/document" rel="tag"&gt;document&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/ndoc" rel="tag"&gt;ndoc&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/vs2005" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/addin" rel="tag"&gt;addin&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/document" rel="tag"&gt;document&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/ndoc" rel="tag"&gt;ndoc&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/vs2005" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114801964843949352?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114801964843949352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114801964843949352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114801964843949352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114801964843949352'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/visual-studio-2005-add-in-xdoc.html' title='Visual Studio 2005 add-in - x.doc'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114801928336416552</id><published>2006-05-18T12:11:00.000-07:00</published><updated>2006-05-18T23:15:31.456-07:00</updated><title type='text'>Windows Vista Upgrade Advisor beta</title><content type='html'>&lt;p&gt;&lt;em&gt;The Windows Vista Upgrade Advisor is a small beta application that you can run on your current Windows XP-based computer to find out if it's ready for an upgrade to Windows Vista. When you run the Upgrade Advisor, it will scan your computer and generate an easy-to-understand report of any known system and device compatibility issues, along with recommendations on how you can get your PC ready for Windows Vista. Microsoft plans to add functionality to Upgrade Advisor, such as checking how your software applications will run with Windows Vista.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=65926&amp;amp;clcid=0x409"&gt;Download Windows Vista Upgrade Advisor beta&lt;/a&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/advisor" rel="tag"&gt;advisor&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/beta" rel="tag"&gt;beta&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/soft" rel="tag"&gt;soft&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/tool" rel="tag"&gt;tool&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/vista" rel="tag"&gt;vista&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/windows" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/advisor" rel="tag"&gt;advisor&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/beta" rel="tag"&gt;beta&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/soft" rel="tag"&gt;soft&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/tool" rel="tag"&gt;tool&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/vista" rel="tag"&gt;vista&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/windows" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114801928336416552?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114801928336416552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114801928336416552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114801928336416552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114801928336416552'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/windows-vista-upgrade-advisor-beta_18.html' title='Windows Vista Upgrade Advisor beta'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114796526209747834</id><published>2006-05-18T08:11:00.000-07:00</published><updated>2006-05-18T08:16:11.630-07:00</updated><title type='text'>Binding to Data Created at Runtime</title><content type='html'>&lt;p&gt;First, a class that represents an individual person should be declared.&lt;br /&gt;The code below declares a class with the FirstName, LastName and Age public properties.&lt;br /&gt;These properties will be data source fields.&lt;/p&gt;&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solidfont-family:Consolas;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;class&lt;/span&gt; Person&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; _FirstName;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; FirstName&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _FirstName; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; { _FirstName = &lt;span style="color:blue;"&gt;value&lt;/span&gt;; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; _LastName;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; LastName&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _LastName; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; { _LastName = &lt;span style="color:blue;"&gt;value&lt;/span&gt;; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; _Age;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Age&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _Age; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; { _Age = &lt;span style="color:blue;"&gt;value&lt;/span&gt;; }&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; Person(&lt;span style="color:blue;"&gt;string&lt;/span&gt; firstName, &lt;span style="color:blue;"&gt;string&lt;/span&gt; lastName, &lt;span style="color:blue;"&gt;int&lt;/span&gt; age)&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.FirstName = firstName;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.LastName = lastName;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.Age = age;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;Once the record class is declared, the data source object can be filled with records.&lt;br /&gt;This example will use an ArrayList as the grid's data source. The code below fills a&lt;br /&gt;List&amp;lt;Person&amp;gt; with records and assigns it to the DataGridView's DataGridView1.DataSource property.&lt;/p&gt;&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solidfont-family:Consolas;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;List&amp;lt;Person&amp;gt; personList = &lt;span style="color:blue;"&gt;new&lt;/span&gt; List&amp;lt;Person&amp;gt;();&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;personList.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; Person("Bill", "Gates", 55));&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;personList.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; Person("Joe", "Miller", 30));&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;personList.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; Person("Nataly", "Mix", 22));&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.dataGridView1.DataSource = personList;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;After the above code has been executed, the DataGridView will look similar to the one displayed below.&lt;img style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; MARGIN: 5px 5px 1px; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 446px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 236px" height="236" src="http://devintelligence.com/blog-images/wa2.png" width="446" /&gt;&lt;/p&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/database" rel="tag"&gt;database&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/datagridview" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/grid" rel="tag"&gt;grid&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/database" rel="tag"&gt;database&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/datagridview" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/grid" rel="tag"&gt;grid&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114796526209747834?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114796526209747834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114796526209747834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114796526209747834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114796526209747834'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/binding-to-data-created-at-runtime.html' title='Binding to Data Created at Runtime'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-114794159751233686</id><published>2006-05-18T01:37:00.000-07:00</published><updated>2006-05-18T01:39:57.516-07:00</updated><title type='text'>Compute Fibonacci numbers using yield statement</title><content type='html'> &lt;p&gt;A program to compute Fibonacci numbers using yield statement.&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Consolas"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;class&lt;/span&gt; YieldUsageExample&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] args)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; n = 8;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; Fibonacci(n))&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Console.Write("{0} ", i);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;Console.ReadLine();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; IEnumerable Fibonacci(&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; n)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; previous = -1;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; result = 1;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;for&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt;= n; ++i)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; sum = result + previous;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;previous = result;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;result = sum;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;yield return&lt;/span&gt; result;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p&gt;&lt;br/&gt; &lt;br/&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28314047-114794159751233686?l=dotnetproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/114794159751233686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28314047&amp;postID=114794159751233686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114794159751233686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/114794159751233686'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2006/05/compute-fibonacci-numbers-using-yield.html' title='Compute Fibonacci numbers using yield statement'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry></feed>
