<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>ganshani.com</title>
	<atom:link href="http://www.ganshani.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ganshani.com</link>
	<description>the Wizdom tRee - Punit Ganshani's initiative</description>
	<pubDate>Sat, 04 Jul 2009 05:33:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GC - Static Class Issues!</title>
		<link>http://www.ganshani.com/2009/07/01/gc-static-class-issues/</link>
		<comments>http://www.ganshani.com/2009/07/01/gc-static-class-issues/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:48:47 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=181</guid>
		<description><![CDATA[Understanding the scenario
We were working on a Windows Service for a large US bank when we discovered that there are potential issues while using Static Classes in .NET
We defined objects in a Static Dictionary object as:-
public static Dictionary&#60;Int64, Student&#62; StudentCollection =
               new [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/24/combobox-sorting-defect/' rel='bookmark' title='Permanent Link: ComboBox Sorting Defect!'>ComboBox Sorting Defect!</a></li><li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li><li><a href='http://www.ganshani.com/2008/01/23/dynamically-add-tags-to-aspnet-page/' rel='bookmark' title='Permanent Link: Dynamically add tags to ASP.NET page'>Dynamically add tags to ASP.NET page</a></li></ul>]]></description>
			<content:encoded><![CDATA[<h3>Understanding the scenario</h3>
<p>We were working on a Windows Service for a large US bank when we discovered that there are potential issues while using Static Classes in .NET</p>
<p>We defined objects in a Static Dictionary object as:-</p>
<pre><span>public</span> <span>static</span> Dictionary&lt;Int64, Student&gt; StudentCollection =</pre>
<pre><span>               new</span> Dictionary&lt;<span>long</span>, Student&gt;();</pre>
<p>and added over 10,000 Student objects in it. At regular intervals of 5 seconds, we triggered a clean-up process :-</p>
<pre><span>            lock</span> (_lockObject)
            {
                   Program.StudentCollection.Clear();
                   GC.Collect();
            }</pre>
<p>An ideal/expected output would be that GC would collect the released 10,000 Student objects and hence the number of objects in heap would reduce at every 5 seconds.  But this was not true!</p>
<p>Much to our surprise, there was a constant ramp-up in the Gen-2 objects (observed in PerfMon.) Later on making the collection non-static, we achieved the expected results.</p>
<h3>A quick conclusion:-</h3>
<p><span style="font-weight: normal;">GC does not collect static objects.</span></p>
<h3>Detailed analysis</h3>
<p><span style="font-weight: normal;">Static variables/objects live for duration of the application i.e. they live in Application Domain.  Hence, they are not subject to Garbage Collection. For each static field there is one copy per-appdomain - each appdomain can have a different value. The static variable itself is not garbage collected - it is just a memory location that contains a reference to an object. Static fields are considered to be GC roots, so any references in them will not be garbage collected as long as the field contains that references it. </span><strong>If you change the field to point to a new reference or set the field value to null then the object whose reference was stored there becomes eligible for collection.</strong></p>
<p>For more read: <a href="http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory_401282006141834PM/csharp_memory_4.aspx?ArticleID=411a0c5c-a0f6-4de2-8a17-e861d5aecd87">http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory_401282006141834PM/csharp_memory_4.aspx?ArticleID=411a0c5c-a0f6-4de2-8a17-e861d5aecd87</a></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/24/combobox-sorting-defect/' rel='bookmark' title='Permanent Link: ComboBox Sorting Defect!'>ComboBox Sorting Defect!</a></li><li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li><li><a href='http://www.ganshani.com/2008/01/23/dynamically-add-tags-to-aspnet-page/' rel='bookmark' title='Permanent Link: Dynamically add tags to ASP.NET page'>Dynamically add tags to ASP.NET page</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/07/01/gc-static-class-issues/feed/</wfw:commentRss>
		</item>
		<item>
		<title>myTracker: 450+ users!</title>
		<link>http://www.ganshani.com/2009/05/12/mytracker-450-users/</link>
		<comments>http://www.ganshani.com/2009/05/12/mytracker-450-users/#comments</comments>
		<pubDate>Tue, 12 May 2009 08:47:14 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[mytracker]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=168</guid>
		<description><![CDATA[Many thanks to all the 450+ users of myTracker.
We are currently engaged in some other assignments hence enhancements to myTracker is delayed. But we assure you there are many TO-DOs in our list that we will implement soon.  Another good news is that myTracker is now automatically listed on sites such as:
 
- www.softpedia.com 
- www.brothersoft.com
- www.softwarelist.us
- [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/17/mytracker-crosses-150/' rel='bookmark' title='Permanent Link: myTracker crosses 150!'>myTracker crosses 150!</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/' rel='bookmark' title='Permanent Link: myTracker on LinkedIn'>myTracker on LinkedIn</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><span>Many thanks to all the 450+ users of </span><span>myTracker</span><span>.</span></p>
<p><span>We are currently engaged in some other assignments hence enhancements to </span><span>myTracker</span><span> is delayed. But we assure you there are many TO-DOs in our list that we will implement soon.  Another good news is that myTracker is now automatically listed on sites such as:</span></p>
<p> </p>
<p>- www.softpedia.com </p>
<p>- www.brothersoft.com</p>
<p>- www.softwarelist.us</p>
<p>- www.ezyspot.com</p>
<p> </p>
<p>We will be back with a bang in June 2009 with lot of features and a mega release!</p>
<p>For those who have not downloaded the executable yet, please click on the link to your right.  Thanks!</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/17/mytracker-crosses-150/' rel='bookmark' title='Permanent Link: myTracker crosses 150!'>myTracker crosses 150!</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/' rel='bookmark' title='Permanent Link: myTracker on LinkedIn'>myTracker on LinkedIn</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/05/12/mytracker-450-users/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ComboBox Sorting Defect!</title>
		<link>http://www.ganshani.com/2009/02/24/combobox-sorting-defect/</link>
		<comments>http://www.ganshani.com/2009/02/24/combobox-sorting-defect/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 10:35:25 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[bug]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[winforms]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=166</guid>
		<description><![CDATA[Oops! Never expected this behavior from such a standard control: Winforms ComboBox.
One of the common things our applications require is bind a data source with Collection-base UI elements like ComboBox. The best code any one could write would be: 
cmbTest.DisplayMember = "Name";
cmbTest.ValueMember = "ID";
cmbTest.DataSource = _employeeRecords; 
I would give this a perfect 10!
The combo box displays all [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li><li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li><li><a href='http://www.ganshani.com/2008/09/02/vs-2008-plugin-pop-up-issue/' rel='bookmark' title='Permanent Link: VS 2008 : Plugin Pop-up issue'>VS 2008 : Plugin Pop-up issue</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Oops! Never expected this behavior from such a standard control: Winforms ComboBox.</p>
<p>One of the common things our applications require is bind a data source with Collection-base UI elements like ComboBox. The best code any one could write would be: </p>
<pre>cmbTest.DisplayMember = "Name";
cmbTest.ValueMember = "ID";
cmbTest.DataSource = _employeeRecords; </pre>
<p>I would give this a perfect 10!</p>
<p>The combo box displays all the Employee Names in the combo box.  What if you wanted to sort these items?</p>
<p>Let&#8217;s use the Sorted property of ComboBox.</p>
<pre>this.cmbTest.Sorted = true;</pre>
<p>Dush!!!  The code stopped working.</p>
<p>You won&#8217;t see Employee Names in the combo box any more. What you would come through is items showing the namespace of the object</p>
<pre>_employeeRecords</pre>
<p>Now did you expect that?</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li><li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li><li><a href='http://www.ganshani.com/2008/09/02/vs-2008-plugin-pop-up-issue/' rel='bookmark' title='Permanent Link: VS 2008 : Plugin Pop-up issue'>VS 2008 : Plugin Pop-up issue</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/02/24/combobox-sorting-defect/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Exception Message Box in C#</title>
		<link>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/</link>
		<comments>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 09:01:47 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[mytracker]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[messagebox]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=163</guid>
		<description><![CDATA[ 
Its time to forget the old traditional message box with limited functionalities. buttons, icons, text area and what not! Microsoft has unleashed a new message box - new, yet not so new.
For those who have used SQL Sever 2005 GUI, might have probably noticed a message box that shows additional information, copying the text to [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li><li><a href='http://www.ganshani.com/2008/03/15/configuring-smtp-in-net/' rel='bookmark' title='Permanent Link: Configuring SMTP in .Net'>Configuring SMTP in .Net</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Its time to forget the old traditional message box with limited functionalities. buttons, icons, text area and what not! Microsoft has unleashed a new message box - new, yet not so new.</p>
<p>For those who have used SQL Sever 2005 GUI, might have probably noticed a message box that shows additional information, copying the text to clipboard, a checkbox on message box, different set of buttons and many more features.  This message box is now open for reuse in your applications. </p>
<p>This is not a &#8216;big-bang&#8217; release made by Microsoft.  It has come out very quietly. Yes the name &#8216;ExceptionMessageBox&#8217; is confusing - but you can still use it in your applications. This standalone exception dialog box can be used in applications just like any other managed APIs.</p>
<p>Probably, you never know the next version of myTracker may use this message box too <img src='http://www.ganshani.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Let&#8217;s hear it from Microsoft:</p>
<p><span style="color: #800000;"><em>The exception message box is a programmatic interface that you can use in your applications for any tasks for which MessageBox may be used. The exception message box is a supported managed assembly designed to elegantly handle managed code exceptions. It provides significantly more control over the messaging experience and gives your users the options to save error message content for later reference and to get help on messages.</em></span></p>
<p>Download Link: </p>
<p><strong>http://download.microsoft.com/download/f/7/4/f74cbdb1-87e2-4794-9186-e3ad6bd54b41/SQLServer2005_EMB.msi </strong></p>
<div></div>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li><li><a href='http://www.ganshani.com/2008/03/15/configuring-smtp-in-net/' rel='bookmark' title='Permanent Link: Configuring SMTP in .Net'>Configuring SMTP in .Net</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>myTracker on LinkedIn</title>
		<link>http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/</link>
		<comments>http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 06:24:16 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[mytracker]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=159</guid>
		<description><![CDATA[We are growing and are now moving to LinkedIn - the professional network.
Carry out discussions, meet members on:
http://www.linkedin.com/groups?gid=1809655
Happy Exploring myTracker!
Punit


Related posts:myTracker crosses 150!myTracker: 450+ users!4 years, the golden gone!


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/17/mytracker-crosses-150/' rel='bookmark' title='Permanent Link: myTracker crosses 150!'>myTracker crosses 150!</a></li><li><a href='http://www.ganshani.com/2009/05/12/mytracker-450-users/' rel='bookmark' title='Permanent Link: myTracker: 450+ users!'>myTracker: 450+ users!</a></li><li><a href='http://www.ganshani.com/2006/08/09/4-years-the-golden-gone/' rel='bookmark' title='Permanent Link: 4 years, the golden gone!'>4 years, the golden gone!</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>We are growing and are now moving to LinkedIn - the professional network.</p>
<p>Carry out discussions, meet members on:</p>
<p><a href="http://www.linkedin.com/groups?gid=1809655">http://www.linkedin.com/groups?gid=1809655</a></p>
<p>Happy Exploring myTracker!</p>
<p>Punit</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/17/mytracker-crosses-150/' rel='bookmark' title='Permanent Link: myTracker crosses 150!'>myTracker crosses 150!</a></li><li><a href='http://www.ganshani.com/2009/05/12/mytracker-450-users/' rel='bookmark' title='Permanent Link: myTracker: 450+ users!'>myTracker: 450+ users!</a></li><li><a href='http://www.ganshani.com/2006/08/09/4-years-the-golden-gone/' rel='bookmark' title='Permanent Link: 4 years, the golden gone!'>4 years, the golden gone!</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>myTracker crosses 150!</title>
		<link>http://www.ganshani.com/2009/02/17/mytracker-crosses-150/</link>
		<comments>http://www.ganshani.com/2009/02/17/mytracker-crosses-150/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 11:29:12 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[Miscellenous]]></category>

		<category><![CDATA[mytracker]]></category>

		<category><![CDATA[excel]]></category>

		<category><![CDATA[milestone]]></category>

		<category><![CDATA[reports]]></category>

		<category><![CDATA[time sheet]]></category>

		<category><![CDATA[time tracking]]></category>

		<category><![CDATA[track]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=156</guid>
		<description><![CDATA[Wow!
What a great response from you all!  157 downloads in less than 17 days is a great response..
Thanks to all!
But this also brings an additional responsibility to keep adding new features in myTracker so that the community keeps using it all the while.  Thats a said promise now!
Let&#8217;s keep on higher targets for the next [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/05/12/mytracker-450-users/' rel='bookmark' title='Permanent Link: myTracker: 450+ users!'>myTracker: 450+ users!</a></li><li><a href='http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/' rel='bookmark' title='Permanent Link: myTracker on LinkedIn'>myTracker on LinkedIn</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Wow!</p>
<p>What a great response from you all!  157 downloads in less than 17 days is a great response..</p>
<p>Thanks to all!</p>
<p>But this also brings an additional responsibility to keep adding new features in myTracker so that the community keeps using it all the while.  Thats a said promise now!</p>
<p>Let&#8217;s keep on higher targets for the next month so that we build a community here.</p>
<p>For those, who have still not downloaded and tried myTracker : please visit</p>
<p><a href="http://www.ganshani.com/mytracker">www.ganshani.com/mytracker</a></p>
<p>Keep your suggestions flowing so that we keep on improving <img src='http://www.ganshani.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Punit.</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/05/12/mytracker-450-users/' rel='bookmark' title='Permanent Link: myTracker: 450+ users!'>myTracker: 450+ users!</a></li><li><a href='http://www.ganshani.com/2009/02/21/mytracker-on-linkedin/' rel='bookmark' title='Permanent Link: myTracker on LinkedIn'>myTracker on LinkedIn</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/02/17/mytracker-crosses-150/feed/</wfw:commentRss>
		</item>
		<item>
		<title>.NET 4.0 Unleashed</title>
		<link>http://www.ganshani.com/2008/12/07/net-40-unleashed/</link>
		<comments>http://www.ganshani.com/2008/12/07/net-40-unleashed/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 07:25:32 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[.net 4.0]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[VS 2010]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=134</guid>
		<description><![CDATA[Cities can sleep – but Microsoft won’t let people sleep.  They are back with a bang with their new .NET 4.0 and an improved IDE – Visual Studio 2010 that promises democratizing application life-cycle management (ALM) and enabling developers to build next generation LOB applications. 
 
What you take away from this snapshot is an understanding [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/23/validation/' rel='bookmark' title='Permanent Link: Validation'>Validation</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2008/02/29/server-application-unavailable/' rel='bookmark' title='Permanent Link: Server Application Unavailable'>Server Application Unavailable</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="EN-US">Cities can sleep – but Microsoft won’t let people sleep.<span>  </span>They are back with a bang with their new .NET 4.0 and an improved IDE – Visual Studio 2010 that promises democratizing application life-cycle management (ALM) and enabling developers to build next generation LOB applications. </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">What you take away from this snapshot is an understanding of how .NET 4.0 will change the way LOB applications interact with human-interface, services and database – so let’s have a click of key features in this edition. </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">User Experience: </span></strong><span lang="EN-US">WPF4 now supports Windows7 multi-touch, ribbon controls, taskbar extensibility features.<span>  </span>Surface 2.0 (based on Windows Surface) will also ship-in with WPF4.<span>  </span>Much of the plumbing work required for N-tier application development is already done by Microsoft – reduced efforts and associated costs are visible advantages.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">Developer Experience:</span></strong><span lang="EN-US"> Migration of .NET 3.5 to .NET 4.0 does not require a mega-release - the wizard does it for you! VS 2010 editor is built in WPF, hence making it more appealing. DataGrid will also be a part of WPF4 – improving the quality of data-centric applications.<span>  </span>What more, Workflow Foundation (WF) now allows composing of workflow styles and WCF claims to become simpler by avoiding complex implementation logic – how more simpler it could be!</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">Architect Experience: </span></strong><span lang="EN-US">VS 2010 identifies existing code/assets and the architecture in an ‘Architecture Explorer’ – a explorer that shows dependencies between assets in Layer Diagram, and Interaction View. This renders the capability of creating a picture of existing code; understanding how components fit and work together.<span>  </span>Validations like UI layer should not communicate with Data Layer can be easily tracked in the Architecture Explorer. StarUML/Visio will rarely be used to design diagrams such as Use Cases and Sequence/Activity diagrams. <span> </span></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">Testing Experience: </span></strong><span lang="EN-US">The conventional mechanism of executing all the test cases will change for sure. Execute the test impacted by code change, from the previous run, will be the new ‘mantra.’ Record your key/mouse actions for non-reproducible bugs and playback to track your code and generate detailed reports. </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">Language Improvements:</span></strong><span lang="EN-US"> Memory mapped files can be used to edit very large files and create shared memory for Inter-Process Communication (IPC). An arbitrary precision data-type, BigInteger, has been introduced to deliver a higher performant big integer implementation. Parallel Extensions include an improved ThreadPool scheduling algorithm for tasks. .  DeflateStream and GZipStream no longer inflate already compressed data.  This means that in most cases we’ll see much better compression ratios when using these streams on .NET 4.0. </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">ASP.NET Improvements: </span></strong><span lang="EN-US">AjaxControlToolkit finally becomes a part of .NET 4.0. ScriptManager includes properties like EnableHistory, AddHistoryPoint, Navigate that enable the application developer to control browser history far beyond anything regular postbacks allowed. Microsoft goes few steps back and provides granular support in controlling properties of objects within containers: we can disable the parent and yet have the child controls enabled!<span>        </span></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">That said, .NET 4.0 and VS2010 promises are features that will improve our productivity and provide better user-experience to our clientele – at the cost of installing Vista! Yes, Vista is mandate operating system for .NET 4.0 platform.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p><span lang="EN-US">Happy Exploring!</span></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/23/validation/' rel='bookmark' title='Permanent Link: Validation'>Validation</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2008/02/29/server-application-unavailable/' rel='bookmark' title='Permanent Link: Server Application Unavailable'>Server Application Unavailable</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/12/07/net-40-unleashed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Smart Client with Enterprise Library 4</title>
		<link>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/</link>
		<comments>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 15:09:08 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[EL]]></category>

		<category><![CDATA[Smart Client]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=132</guid>
		<description><![CDATA[Wow!  Compatibility between SCSF and EL 4 has troubled me many a times in some of my critical projects. Visual Studio 2008 does not allow installation of EL 3.1 and SCSF is based on EL 3.1.
To install EL 4.0 and to make it compatible with SCSF on VS2008 - here are the steps:
1. Rebuild Block [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Wow!  Compatibility between SCSF and EL 4 has troubled me many a times in some of my critical projects. Visual Studio 2008 does not allow installation of EL 3.1 and SCSF is based on EL 3.1.</p>
<p>To install EL 4.0 and to make it compatible with SCSF on VS2008 - here are the steps:</p>
<p>1. Rebuild Block Assemblies<br />
2. Update Guidance Package<br />
3. Update SCSF Application<br />
 </p>
<h1><strong><span style="color: #0000ff;">Rebuild Block Assemblies</span></strong></h1>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>Extract the</span><span> </span><strong><span>Smart Client Software Factory Source Code</span></strong><span>.</span></p>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>SmartClient.Offline</span></strong><span> </span><span>solution located at the source code installation folder.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Remove from the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>and</span><span> </span><strong><span>SmartClient.EnterpriseLibrary.Tests</span></strong><span> </span><span>projects the references to the following assemblies:</span></p>
<p class="MsoNormal"><span><span>     - <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Common<br />
<span style="font-style: normal;"><span><span>     -<span>  </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data<br />
<span style="font-style: normal;"><span><span>     - <span> </span></span></span><em><span>SmartClient.EnterpriseLibrary.Data.SqlCe</span></em></span></span></em></span></span></em></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Add, In the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>and</span><span> </span><strong><span>SmartClient.EnterpriseLibrary.Tests</span></strong><span> </span><span>projects, references to the following Enterprise Library assemblies (located at Enterprise Library assemblies located at</span><span> </span><strong><span>%Enterprise Library 4 installation folder%\Bin</span></strong><span>):</span></p>
<p class="MsoNormal"><span><span>     - <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Common.dll<br />
<span style="font-style: normal;"><span><span>     - <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data.dll<br />
<span style="font-style: normal;"><span><span>     - <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data.SqlCe.dll</span></em></span></span></em></span></span></em></p>
<p class="MsoNormal"><strong><span>5.</span></strong><span> </span><span>In the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>project, open</span><span> </span><strong><span>SmartClientDatabase.cs</span></strong><span> </span><span>file and replace the following</span><span> </span><strong><span>using</span></strong><span> </span><span>statement:</span></p>
<p><span>using Microsoft.Practices.SmartClient.EnterpriseLibrary.Data.SqlCe;</span></p>
<p class="MsoNormal"><strong><span>with:</span></strong><span> </span></p>
<p><strong></strong>using Microsoft.Practices.EnterpriseLibrary.Data.SqlCe;</p>
<p> </p>
<h1><strong><span><span style="color: #0000ff;">Updating the Guidance Package</span><br />
 </span></strong></h1>
<p> </p>
<p> </p>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>GuidancePackage</span></strong><span> </span><span>solution located at the SC-SF source folder.</span></p>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>App.config.template</span></strong><span> </span><span>located under the folders located at</span><span> </span><strong><span>Templates\Solutions\Projects\Shell.*.*</span></strong><span> </span><span>(<em>Shell.Basic.CS, Shell.Basic.VB, Shell.Extended.CS and Shell.Extended.VB</em>) in the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Find and replace on each</span><span> </span><strong><span>App.config.template</span></strong><span> </span><span>file the string “<strong>Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</strong>” with “<strong>Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</strong>”.</span></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Create a folder to store the new assemblies (e.g. at %SC-SF installation folder%\Lib with EntLib 4.0). In this folder, copy the Enterprise Library 4.0 assemblies and the Smart Client assemblies generated in Step 1. You should have the same assemblies you have at %SC-SF installation folder%\Lib but updated to use Enterprise Library 4.0.</p>
<p></span></p>
<p class="MsoNormal"><strong><span>5.</span></strong><span> </span><span>Open the file</span><span> </span><strong><span>CreateSmartClientFactorySolutionCommon.xml</span></strong><span> </span><span>file located at</span><span> </span><strong><span>Recipes\Common</span></strong><span> </span><span>folder of the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project. You will change the path where the Create Solution recipe looks for the required assemblies by default.</span></p>
<p class="MsoNormal"><strong><span><br />
6.</span></strong><span> </span><span>Find the</span><span> </span><strong><span>SupportLibrariesPath</span></strong><span> </span><span>argument and replace it with the following:</span></p>
<div>
<p class="MsoNormal"><span>&lt;Argument Name=&#8221;SupportLibrariesPath&#8221; Required=&#8221;true&#8221; Type=&#8221;System.String&#8221;&gt;<br />
<span>  </span>&lt;ValueProvider Type=&#8221;Evaluator&#8221; Expression=&#8221;Paste here the path to the folder created at Step 4&#8243;&gt;<br />
<span>  </span>&lt;/ValueProvider&gt;<br />
&lt;/Argument&gt;</span></p>
</div>
<p class="MsoNormal"><span><strong><span>7.</span></strong><span> </span><span>Save all.</span></span></p>
<p class="MsoNormal"><strong><span>8.</span></strong><span> </span><span>Register the custom Guidance Package. To do this, right click the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project and select</span><span> </span><strong><span>Register Guidance Package</span></strong><span>.</span></p>
<p> </p>
<h1></h1>
<h1><span style="color: #0000ff;">Update existing SCSF Application</span></h1>
<p> </p>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>If your solution uses the</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>assembly, follow the steps described in the</span><span> </span><strong><span>Rebuilding the Block Assemblies</span></strong><span> </span><span>section to update this assembly and perform the following sub-steps:</span><span></span></p>
<ol type="1">
<li> 
<ol type="1">
<li class="MsoNormal"><span>Find       the</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>generated assembly located       at</span><span> </span><strong><span>%Source code installation       folder%\Blocks\Offline\Source\DataAccess.EnterpriseLibrary\bin\Debug</span></strong><span>.</span></li>
<li class="MsoNormal"><span>Copy       the previous assembly and replace them in the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder of your solution.</span></li>
<li class="MsoNormal"><span>Update       the references of your projects to use the updated</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>assembly</span></li>
<li class="MsoNormal"><span>Remove       the reference to</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.Data.SqlCe.dll</span></strong><span> </span><span>(it was replaced with the       one provided by</span><span> </span><strong><span>Enterprise Library 4</span></strong><span>) and add a reference to</span><span> </span><strong><span>Microsoft.Practices.EnterpriseLibrary.Data.SqlCe.dll</span></strong><span> </span><span>assembly located at</span><span> </span><strong><span>%Enterprise Library 4       installation folder%\Bin</span></strong><span>.</span></li>
</ol>
</li>
</ol>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Copy the Enterprise Library 4.0 assemblies (located at</span><span> </span><strong><span>%Enterprise Library 4 installation folder%\Bin</span></strong><span>) and replace them in the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder of your solution.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Update the references to the</span><span> </span><strong><span>Enterprise Library</span></strong><span> </span><span>assemblies in all the projects in your solution using the new assemblies copied into the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder.</span></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>App.config</span></strong><span> </span><span>file and find and replace the string</span><span> </span><strong><span>“Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</span></strong><span>” with “<strong>Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</strong>”.</span></p>
<p><strong><span>5.</span></strong><span> </span><span>Save all</span></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Language of Man-age-rs!</title>
		<link>http://www.ganshani.com/2008/10/09/language-of-man-age-rs/</link>
		<comments>http://www.ganshani.com/2008/10/09/language-of-man-age-rs/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 16:14:26 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[General Management]]></category>

		<category><![CDATA[Miscellenous]]></category>

		<category><![CDATA[Developers]]></category>

		<category><![CDATA[Language]]></category>

		<category><![CDATA[Leads]]></category>

		<category><![CDATA[Managers]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=128</guid>
		<description><![CDATA[am sure you would start imagining yourself as you proceed ahead with this article; because everyone faces this at least once in his life and then repeats it when he is on the other side of the table.  If you are the employee, who acts as a Team Member at your organization - you may [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/08/31/the-geek-feeling/' rel='bookmark' title='Permanent Link: the &#8216;geek&#8217; feeling'>the &#8216;geek&#8217; feeling</a></li><li><a href='http://www.ganshani.com/2008/02/10/human-resource/' rel='bookmark' title='Permanent Link: Human Resource.'>Human Resource.</a></li><li><a href='http://www.ganshani.com/2008/02/24/transition/' rel='bookmark' title='Permanent Link: transITion.'>transITion.</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">am sure you would start imagining yourself as you proceed ahead with this article; because everyone faces this at least once in his life and then repeats it when he is on the other side of the table.<span style="mso-spacerun: yes;">  </span>If you are the employee, who acts as a Team Member at your organization - you may sing with me and realize that all managers have something similar to cap upon. This post will appear as interesting as a sizzling brownie.</span></p>
<p><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">But, if you are a manager or some technology/team/project lead, you have two options with you: either close your browser/document/tear-off the print-out, or understand the way majority of people in our class (as I fall in one of these categories, as well) behave and speak. </span></p>
<p><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">I welcome both types of readers to explore the new lingua franca of our leads!</span></p>
<p><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">We start our day with a cup of hot cappuccino in the cafeteria over gossips of how our evening had been.  Some freak out with their friends in the evening, some have few promises to keep and there is a different group of people who have lots of stories to tell; stories of their &#8216;yesterday&#8217; that start with a similar cup of cappuccino and ends at their desk late night.  Don&#8217;t ponder much on this - they are highly efficient people in the organization and some of them are also called as &#8216;Geeks.&#8217; So let’s see what managers (people-who-manage) say to convince these &#8216;Geeks&#8217; to work more and deliver results.</span></p>
<p><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">He receives a mail in the morning:</span></p>
<p><span style="font-size: 10pt; color: #c00000; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">You may want to review the work done by </span><em><span style="font-size: 10pt; color: #c00000; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 'Lucida Sans Unicode';">xyz</span></em><span style="font-size: 10pt; color: #c00000; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">.  This may help us achieve higher quality code.</span></p>
<p><em style="mso-bidi-font-style: normal;"><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">The word &#8216;May&#8217; signifies a pun: &#8216;you may&#8217; means &#8216;if you want to&#8217; and it also means &#8216;you have to&#8217;  Confused between what a senior wants to convey, this poor chap accepts the second meaning applicable to him.  Now this something extra that he is doing, which &#8216;may&#8217; fetch him appreciations or which &#8216;may&#8217; go un-noticed for a long while as well. 2 more hours of additional work that gets added to his KRAs (Key Result Areas)!</span></em><span style="font-size: 10pt; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">  </span></p>
<p><span style="font-size: 10pt; color: #c00000; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">For more read click: <a href="http://www.ganshani.com/downloads/The Language of Managers.pdf">http://www.ganshani.com/downloads/The Language of Managers.pdf</a></span></p>
<p><span style="font-size: 10pt; color: #c00000; font-family: &quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;">Thanks </span></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/08/31/the-geek-feeling/' rel='bookmark' title='Permanent Link: the &#8216;geek&#8217; feeling'>the &#8216;geek&#8217; feeling</a></li><li><a href='http://www.ganshani.com/2008/02/10/human-resource/' rel='bookmark' title='Permanent Link: Human Resource.'>Human Resource.</a></li><li><a href='http://www.ganshani.com/2008/02/24/transition/' rel='bookmark' title='Permanent Link: transITion.'>transITion.</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/10/09/language-of-man-age-rs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Strong Naming an existing assembly</title>
		<link>http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/</link>
		<comments>http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 04:15:50 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
		
		<category><![CDATA[Microsoft .NET]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[MSIL]]></category>

		<category><![CDATA[strong name]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=125</guid>
		<description><![CDATA[Now this is one problem that we face when we use a 3rd party DLL, which is not-strongly named &#38; we still want to dump it to GAC.
So, lets see the 5-step solution:


Go to Visual Studio Command Prompt
Generate a Strong Name Key File
sn -k keyPair.snk 
Obtain MSIL for the assembly
ildasm Assembly.dll /out:Assembly.il 
 
Rename the original assembly
ren Assembly.dll [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li><li><a href='http://www.ganshani.com/2008/06/28/bluetooth-with-csharp/' rel='bookmark' title='Permanent Link: Bluetooth with C#'>Bluetooth with C#</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Now this is one problem that we face when we use a 3rd party DLL, which is not-strongly named &amp; we still want to dump it to GAC.</p>
<p style="text-align: left;">So, lets see the 5-step solution:</p>
<p style="text-align: left;">
<ol>
<li>Go to Visual Studio Command Prompt</li>
<li><strong>Generate a Strong Name Key File</strong><br />
sn -k keyPair.snk </li>
<li><strong>Obtain MSIL for the assembly</strong><br />
ildasm Assembly.dll /out:Assembly.il <br />
 </li>
<li><strong>Rename the original assembly</strong><br />
ren Assembly.dll Assembly.dll.old <br />
 </li>
<li><strong>Create a new assembly from MSIL &amp; Key File</strong><br />
ilasm Assembly.il /dll /key= keyPair.snk </li>
</ol>
<div>The new Assembly is a strong-named assembly.</div>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li><li><a href='http://www.ganshani.com/2008/06/28/bluetooth-with-csharp/' rel='bookmark' title='Permanent Link: Bluetooth with C#'>Bluetooth with C#</a></li><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
