<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.codesmithtools.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Eric J. Smith</title><subtitle type="html" /><id>http://community.codesmithtools.com/blogs/ericjsmith/atom.aspx</id><link rel="alternate" type="text/html" href="http://community.codesmithtools.com/blogs/ericjsmith/default.aspx" /><link rel="self" type="application/atom+xml" href="http://community.codesmithtools.com/blogs/ericjsmith/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30619.63">Community Server</generator><updated>2005-10-25T17:28:00Z</updated><entry><title>The NuSoft Framework</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2007/09/20/the-nusoft-framework.aspx" /><id>/blogs/ericjsmith/archive/2007/09/20/the-nusoft-framework.aspx</id><published>2007-09-20T17:41:00Z</published><updated>2007-09-20T17:41:00Z</updated><content type="html">&lt;p&gt;&lt;span id="ctl00_ctl00_ctl00_Content_ProjectBaseMain_ProjectMain_wikiSourceLabel"&gt;&lt;span id="ctl00_ctl00_ctl00_Content_ProjectBaseMain_ProjectMain_wikiSourceLabel"&gt;Really nice set of new templates: &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://www.codeplex.com/nusoftframework"&gt;http://www.codeplex.com/nusoftframework&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;em&gt;&amp;quot;The NuSoft Framework is an extensible business and data layer framework. It is built as a set of CodeSmith templates. The templates generate a strongly typed C# domain model based off your SQL 2005 database schemas. Our code framework is a great way to get a custom development project off the ground on the right foot.&amp;quot;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=27773" width="1" height="1"&gt;</content><author><name>ejsmith</name><uri>http://community.codesmithtools.com/members/ejsmith/default.aspx</uri></author></entry><entry><title>Tips &amp; Tricks: Merge Strategies</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2007/06/09/tips-amp-tricks-merge-strategies.aspx" /><id>/blogs/ericjsmith/archive/2007/06/09/tips-amp-tricks-merge-strategies.aspx</id><published>2007-06-10T04:08:00Z</published><updated>2007-06-10T04:08:00Z</updated><content type="html">&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font size="3" face="Calibri"&gt;Using merge strategies in CodeSmith enables you to combine both user and machine generated code in a single file.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can also regenerate the machine generated code while still preserving your custom code modifications.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font size="3" face="Calibri"&gt;CodeSmith comes with two types of merge strategies out of the box:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;InsertRegion&lt;/b&gt; - Allows you to insert a region of generated code into an otherwise custom code file.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can modify the code outside of the target region and your changes will be preserved during regeneration while overwriting the contents of the target region.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;table style="border:medium none;margin:auto auto auto 31.1pt;border-collapse:collapse;" class="MsoTableGrid" cellpadding="0" cellspacing="0"&gt;

&lt;tr style="height:19.2pt;"&gt;
&lt;td style="border:1pt solid black;padding:0in 5.4pt;width:415.8pt;height:19.2pt;background-color:transparent;"&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;span style="color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; InsertRegionSample&lt;/span&gt;&lt;/font&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; SomeCustomMethod()&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; This is my custom code that I want to&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#39; preserve. I can make changes to it and&lt;/font&gt;&lt;/span&gt;&lt;span style="color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#39; my changes will not be overwritten.&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;#&lt;span style="color:blue;"&gt;Region&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;Sample Generated Region&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; This region will be overwritten during each&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; template execution.&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;#&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Region&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoListParagraphCxSpLast" style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;PreserveRegions&lt;/b&gt; – Allows you to designate multiple regions inside of the file as custom code regions.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can modify the code inside of these regions and your changes will be preserved during regeneration while the rest of the file will be regenerated.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Any regions whose name matches against the supplied regular expression will be preserved during regeneration.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;table style="border:medium none;margin:auto auto auto 28.1pt;border-collapse:collapse;" class="MsoTableGrid" cellpadding="0" cellspacing="0"&gt;

&lt;tr style="height:239.9pt;"&gt;
&lt;td style="border:1pt solid black;padding:0in 5.4pt;width:418.75pt;height:239.9pt;background-color:transparent;"&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; PreserveRegionsSample&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; #&lt;span style="color:blue;"&gt;Region&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;Custom Region 1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:maroon;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:maroon;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:green;"&gt;&amp;#39; This is my custom code that I want to preserve.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; I can make changes to it and my changes will&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; not be overwritten.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;#&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Region&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; SomeGeneratedMethod()&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; This section and all other regions that do not&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; match the region name regular expression that you&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; supply to the merge strategy&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;will be overwritten&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; during each&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt; template execution.&amp;nbsp;In this sample, &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; the regular expression being used matches any region&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; who&amp;#39;s name starts with &amp;quot;Custom&amp;quot;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;#&lt;span style="color:blue;"&gt;Region&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;Custom Region 2&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:maroon;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:maroon;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="color:green;"&gt;&amp;#39; The contents of this region will also be preserved&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39; during generation.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; #&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Region&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;"&gt;End&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoListParagraphCxSpLast" style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;IMergeStrategy &lt;/b&gt;– Allows you to implement your own merging logic.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font size="3" face="Calibri"&gt;The attached samples show an example of using both kinds of merge strategies as well as a CodeSmith Project file to execute them.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Simply, right click on the MergeSamples.csp file and select Generate Outputs to regenerate.&amp;nbsp; You can also see the merge settings being used by right-clicking the MergeSamples.csp, selecting Manage Outputs, and then clicking edit on each output to see the settings.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25110" width="1" height="1"&gt;</content><author><name>shannon</name><uri>http://community.codesmithtools.com/members/shannon/default.aspx</uri></author><category term="CodeSmith 4.0" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith+4.0/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>CodeSmith 4.0 Released</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/11/08/codesmith-4-0-released.aspx" /><id>/blogs/ericjsmith/archive/2006/11/08/codesmith-4-0-released.aspx</id><published>2006-11-08T19:11:00Z</published><updated>2006-11-08T19:11:00Z</updated><content type="html">CodeSmith 4.0 has been officially released today at the Dev Connections conference in Las Vegas! This is a huge release for us and has a bunch of great new features as well as countless minor enhancements and bug fixes all based on customer feedback. Here are some of the features in the new version of CodeSmith: CodeSmith Projects (.csp) - This feature makes automating your code generation process really easy and consistent whether you are working from inside of Visual Studio 2005, MSBuild, Windows...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/11/08/codesmith-4-0-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25161" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="General" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/General/default.aspx" /><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /><category term="General Software Development" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/General+Software+Development/default.aspx" /><category term="Community News" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/Community+News/default.aspx" /><category term="Visual Studio" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/Visual+Studio/default.aspx" /><category term=".NET" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/.NET/default.aspx" /></entry><entry><title>CodeSmith 4.0 Public Beta Released</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/10/19/codesmith-4-0-public-beta-released.aspx" /><id>/blogs/ericjsmith/archive/2006/10/19/codesmith-4-0-public-beta-released.aspx</id><published>2006-10-20T00:53:00Z</published><updated>2006-10-20T00:53:00Z</updated><content type="html">CodeSmith 4.0 Beta 2 has been released and is now available to the public. Here are just a few the new capabilities in CodeSmith 4.0: CodeSmith Projects (.csp) - This feature makes automating your code generation process really easy and consistent whether you are working from inside of Visual Studio 2005, MSBuild, Windows Explorer, a command line / batch file, or CodeSmith itself. ActiveSnippets - Imagine Visual Studio 2005 snippets, but with the full power of CodeSmith available to execute any logic...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/10/19/codesmith-4-0-public-beta-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25163" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /><category term="General Software Development" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/General+Software+Development/default.aspx" /><category term="Community News" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/Community+News/default.aspx" /><category term="Visual Studio" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/Visual+Studio/default.aspx" /><category term=".NET" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/.NET/default.aspx" /></entry><entry><title>CodeSmith $5,000 cash give away at Dev Connections</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/10/07/codesmith-5-000-cash-give-away-at-dev-connections.aspx" /><id>/blogs/ericjsmith/archive/2006/10/07/codesmith-5-000-cash-give-away-at-dev-connections.aspx</id><published>2006-10-07T21:57:00Z</published><updated>2006-10-07T21:57:00Z</updated><content type="html">CodeSmith will have a booth at Dev Connections in Las Vegas next month and we thought it would be a lot of fun to give away some gambling money! If you are coming to Dev Connections, just make sure to stop by our booth and signup. If you aren&amp;#39;t coming to Dev Connections, you better sign up quickly! In addition to Microsoft having some exciting new announcements for Dev Connections, CodeSmith will have some exciting announcements of our own!...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/10/07/codesmith-5-000-cash-give-away-at-dev-connections.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25165" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author></entry><entry><title>XML-based Code Generation with CodeSmith</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/05/22/13874.aspx" /><id>/blogs/ericjsmith/archive/2006/05/22/13874.aspx</id><published>2006-05-22T20:23:00Z</published><updated>2006-05-22T20:23:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://www.larkware.com/"&gt;Mike Gunderloy&lt;/A&gt; has just posted a new article about &lt;A href="http://developer.com/xml/article.php/10929_3525776_1"&gt;XML-based Code Generation with CodeSmith&lt;/A&gt;&amp;nbsp;over at &lt;A href="http://www.developer.com/"&gt;Developer.com&lt;/A&gt;.&amp;nbsp; Mike does a great job of explaining the new XmlProperty feature in CodeSmith and how powerful it can be in using XML as metadata for your templates.&lt;/P&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=13874" width="1" height="1"&gt;</content><author><name>ejsmith</name><uri>http://community.codesmithtools.com/members/ejsmith/default.aspx</uri></author></entry><entry><title>CodeSmith Wins "Best Utility" Award</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/05/12/codesmith-wins-quot-best-utility-quot-award.aspx" /><id>/blogs/ericjsmith/archive/2006/05/12/codesmith-wins-quot-best-utility-quot-award.aspx</id><published>2006-05-12T21:39:00Z</published><updated>2006-05-12T21:39:00Z</updated><content type="html">CodeSmith has won the &amp;quot;Best Utility&amp;quot; award in the asp.netPRO Readers&amp;rsquo; Choice Awards! Thanks to our incredible user base, CodeSmith was able to win this category that included many other great software development products. Thank you to everyone that voted!...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/05/12/codesmith-wins-quot-best-utility-quot-award.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25166" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author></entry><entry><title>CodeSmith Wins "Best Utility" Award</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/05/12/13550.aspx" /><id>/blogs/ericjsmith/archive/2006/05/12/13550.aspx</id><published>2006-05-12T21:38:00Z</published><updated>2006-05-12T21:38:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.aspnetpro.com/"&gt;&lt;img alt="Readers' Choice Awards" hspace="10" src="http://www.codesmithtools.com/images/aspRCA06_Utility_Winner.gif" align="right" border="0" /&gt;&lt;/a&gt;CodeSmith has won the "Best Utility" award in the asp.netPRO Readers&amp;rsquo; Choice Awards! Thanks to our incredible user base, CodeSmith was able to win this category that included many other great software development products. Thank you to everyone that voted!&lt;/p&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=13550" width="1" height="1"&gt;</content><author><name>ejsmith</name><uri>http://community.codesmithtools.com/members/ejsmith/default.aspx</uri></author></entry><entry><title>HanselMinutes - Code Generation</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/04/19/12722.aspx" /><id>/blogs/ericjsmith/archive/2006/04/19/12722.aspx</id><published>2006-04-19T17:18:22Z</published><updated>2006-04-19T17:18:22Z</updated><content type="html">&lt;p&gt;&lt;span id="ctl00_ContentPlaceHolder1_lblShowDescription"&gt;&amp;ldquo;Scott talks about CodeSmith as well as other code generators, highlighting their strengths and weaknesses, and offering his usual insight into the issues. Of course, resources abound.&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="http://www.hanselminutes.com/default.aspx?showid=20"&gt;http://www.hanselminutes.com/default.aspx?showid=20&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=12722" width="1" height="1"&gt;</content><author><name>ejsmith</name><uri>http://community.codesmithtools.com/members/ejsmith/default.aspx</uri></author></entry><entry><title>HanselMinutes - Code Generation</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/04/19/hanselminutes-code-generation.aspx" /><id>/blogs/ericjsmith/archive/2006/04/19/hanselminutes-code-generation.aspx</id><published>2006-04-19T17:18:00Z</published><updated>2006-04-19T17:18:00Z</updated><content type="html">&amp;ldquo;Scott talks about CodeSmith as well as other code generators, highlighting their strengths and weaknesses, and offering his usual insight into the issues. Of course, resources abound.&amp;rdquo; http://www.hanselminutes.com/default.aspx?showid=20...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/04/19/hanselminutes-code-generation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25167" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /><category term=".NET" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/.NET/default.aspx" /></entry><entry><title>asp.netPRO Readers’ Choice Awards</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/03/17/asp-netpro-readers-choice-awards.aspx" /><id>/blogs/ericjsmith/archive/2006/03/17/asp-netpro-readers-choice-awards.aspx</id><published>2006-03-18T03:45:00Z</published><updated>2006-03-18T03:45:00Z</updated><content type="html">If you are a fan of CodeSmith and would like to show your support, please take a moment to place your vote for CodeSmith in the Utility category of the asp.netPRO Readers&amp;rsquo; Choice Awards. Each year, asp.netPRO recognizes outstanding products and vendors in the ASP.NET add-on market. Please take a moment to select your favorite ASP.NET tools. This is your chance to voice your opinions regarding the tools and products you use in your everyday development efforts....(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/03/17/asp-netpro-readers-choice-awards.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25168" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="General" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/General/default.aspx" /><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /><category term=".NET" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/.NET/default.aspx" /></entry><entry><title>asp.netPRO Readers’ Choice Awards</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/03/17/11447.aspx" /><id>/blogs/ericjsmith/archive/2006/03/17/11447.aspx</id><published>2006-03-18T03:45:00Z</published><updated>2006-03-18T03:45:00Z</updated><content type="html">&lt;P&gt;If you are a fan of CodeSmith and would like to show your support, please take a moment to &lt;A href="http://www.aspnetpro.com/readerschoice/default.asp"&gt;place your vote&lt;/A&gt; for CodeSmith in the Utility category of the asp.netPRO Readers’ Choice Awards.&lt;A href="http://www.aspnetpro.com/readerschoice/default.asp"&gt;&lt;IMG alt="Readers' Choice Awards" hspace=10 src="http://www.ericjsmith.net/images/RCA2006.gif" align=right border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Each year, asp.netPRO recognizes outstanding products and vendors in the ASP.NET add-on market. Please take a moment to select your favorite ASP.NET tools. This is your chance to voice your opinions regarding the tools and products you use in your everyday development efforts. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=11447" width="1" height="1"&gt;</content><author><name>ejsmith</name><uri>http://community.codesmithtools.com/members/ejsmith/default.aspx</uri></author></entry><entry><title>Build a Data Access Layer in less than 15 minutes</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/02/13/build-a-data-access-layer-in-less-than-15-minutes.aspx" /><id>/blogs/ericjsmith/archive/2006/02/13/build-a-data-access-layer-in-less-than-15-minutes.aspx</id><published>2006-02-13T21:25:00Z</published><updated>2006-02-13T21:25:00Z</updated><content type="html">&amp;ldquo;In this article you will learn how to build a Data Access Layer using Microsoft&amp;rsquo;s Enterprise Library in less than 15 minutes using CodeSmith and the .NetTiers Template Library&amp;hellip;&amp;rdquo; Build a Data Access Layer in less than 15 minutes...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/02/13/build-a-data-access-layer-in-less-than-15-minutes.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25169" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /><category term=".NET" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/.NET/default.aspx" /></entry><entry><title>CodeSmith 3.2 Released (.NET 2.0)</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2006/01/30/codesmith-3-2-released-net-2-0.aspx" /><id>/blogs/ericjsmith/archive/2006/01/30/codesmith-3-2-released-net-2-0.aspx</id><published>2006-01-30T17:30:00Z</published><updated>2006-01-30T17:30:00Z</updated><content type="html">CodeSmith 3.2 for .NET 2.0 and Visual Studio 2005 has now been released. This is a free upgrade for all CodeSmith 3.0 users. This version of CodeSmith is nearly identical to CodeSmith 3.1 except it has been optimized and built for .NET 2.0 and Visual Studio 2005 including a new MSBuild CodeSmith task. Download CodeSmith 3.2 Now Visit the CodeSmith Tools website...(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2006/01/30/codesmith-3-2-released-net-2-0.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25171" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /></entry><entry><title>Super XSLT</title><link rel="alternate" type="text/html" href="/blogs/ericjsmith/archive/2005/10/25/super-xslt.aspx" /><id>/blogs/ericjsmith/archive/2005/10/25/super-xslt.aspx</id><published>2005-10-25T22:28:00Z</published><updated>2005-10-25T22:28:00Z</updated><content type="html">Here is a link to an interesting article about using CodeSmith as a form of XSLT....(&lt;a href="http://community.codesmithtools.com/blogs/ericjsmith/archive/2005/10/25/super-xslt.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.codesmithtools.com/aggbug.aspx?PostID=25172" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://community.codesmithtools.com/members/Anonymous/default.aspx</uri></author><category term="CodeSmith" scheme="http://community.codesmithtools.com/blogs/ericjsmith/archive/tags/CodeSmith/default.aspx" /></entry></feed>