<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Compact Framework</title>
        <link>http://geekswithblogs.net/scarpenter/category/3141.aspx</link>
        <description>Compact Framework</description>
        <language>en-US</language>
        <copyright>Sean Carpenter</copyright>
        <managingEditor>sean@seancarpenter.net</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Using NAnt to build Compact Framework Projects</title>
            <link>http://geekswithblogs.net/scarpenter/archive/2005/10/26/58197.aspx</link>
            <description>&lt;P&gt;I struggled with this a while back and finally came up with a solution that works.&amp;nbsp; There are a few things that I would do differently now (I'll try to highlight them below), but I've been running this for a few months now and it produces correct output so I'm happy.&lt;/P&gt;
&lt;P&gt;My previous experience with &lt;A href="http://nant.sourceforge.net/"&gt;NAnt&lt;/A&gt; involved using the &lt;a href="http://nant.sourceforge.net/release/latest/help/tasks/solution.html"&gt;&amp;lt;solution&amp;gt;&lt;/a&gt; task which works very well.&amp;nbsp; Unfortunately, the &amp;lt;solution&amp;gt; task doesn't support the Compact Framework.&amp;nbsp; The solution I came up with is as follows: write a list of source files to compile to a file, convert any resources from .resx format to binary resources, write a list of resource files to include to a file, and finally call the command line compiler passing in these lists of files and any other options.&amp;nbsp; I'll do a quick description of each step below.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A name="scarpenterStep1"&gt;Step 1 - Get a list of source files&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This is the NAnt target I use to get the list of files (this is one of those things I'd do differently now - I'd use the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/valrfrecursefindsourcefilesinsubdirectories.asp"&gt;/recurse&lt;/A&gt; option to the compiler).&lt;/P&gt;
&lt;STYLE type=text/css&gt;
.cf { font-family: Courier New; font-size: 9pt; color: black; background: white; border-top: windowtext 1pt solid; padding-top: 0pt; border-left: windowtext 1pt solid; padding-left: 0pt; border-right: windowtext 1pt solid; padding-right: 0pt; border-bottom: windowtext 1pt solid; padding-bottom: 0pt; }
.cl { margin: 0px; }
.cb1 { color: blue; }
.cb2 { color: maroon; }
.cb3 { color: fuchsia; }
.cb4 { color: red; }
&lt;/STYLE&gt;
&lt;div class="cf"&gt;
&lt;pre class="cl"&gt;&lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="listFiles"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;delete&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;file&lt;/span&gt;&lt;span class="cb1"&gt;="sourceList.txt"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;if&lt;/span&gt;&lt;span class="cb1"&gt;="${file::exists('sourceList.txt')}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;item&lt;/span&gt;&lt;span class="cb1"&gt;="File"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;property&lt;/span&gt;&lt;span class="cb1"&gt;="fName"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="*.vb"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="${subDir}/**/*.vb"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;echo&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;message&lt;/span&gt;&lt;span class="cb1"&gt;="&amp;amp;quot;${fName}&amp;amp;quot;"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;append&lt;/span&gt;&lt;span class="cb1"&gt;="true"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;file&lt;/span&gt;&lt;span class="cb1"&gt;="sourceList.txt"/&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;P&gt;This deletes the file if it already exists, then uses the &lt;A href="http://nant.sourceforge.net/release/latest/help/tasks/foreach.html"&gt;&amp;lt;foreach&amp;gt;&lt;/A&gt; task to loop through the files with a "vb" extension in the specified directory and sub-directory (contained in the subDir &lt;A href="http://nant.sourceforge.net/release/latest/help/fundamentals/properties.html"&gt;property&lt;/A&gt;) and &lt;a href="http://nant.sourceforge.net/release/latest/help/tasks/echo.html"&gt;&amp;lt;echo&amp;gt;&lt;/a&gt; their names to the "sourceList.txt" file.&amp;nbsp; Pretty straightforward.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 2 - Convert Resources&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The resources step is something that completely slipped my mind at the beginning.&amp;nbsp; I was originally only building a class library (with no embedded resources) so skipping this step wasn't an issue.&amp;nbsp; It became a problem when I added a WinForms app to the solution and built it without including the resources (that didn't run so well since many control properties are stored in the resource files).&amp;nbsp; Here's the target for building the resources.&lt;/P&gt;
&lt;div class="cf"&gt;
&lt;pre class="cl"&gt;&lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="makeResources"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;item&lt;/span&gt;&lt;span class="cb1"&gt;="File"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;property&lt;/span&gt;&lt;span class="cb1"&gt;="fName"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="*.resx"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="${subDir}/**/*.resx"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="resName"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="${path::get-file-name-without-extension(fName)}.resources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;exec&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;program&lt;/span&gt;&lt;span class="cb1"&gt;="C:\NET\CFDLL\CFResGen"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;commandline&lt;/span&gt;&lt;span class="cb1"&gt;="${fName} ${path::combine(subDir, resName)}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;
&lt;P&gt;This target uses the &lt;A href="http://nant.sourceforge.net/release/latest/help/tasks/foreach.html"&gt;&amp;lt;foreach&amp;gt;&lt;/A&gt; task again, this time to go through all .resx files.&amp;nbsp; This time, instead of writing the file names to a file, the task uses the &lt;A href="http://nant.sourceforge.net/release/latest/help/tasks/exec.html"&gt;&amp;lt;exec&amp;gt;&lt;/A&gt; task to execute the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_evtuv/html/etconresourcefilegeneratorcfresgenexe.asp"&gt;CFResgen&lt;/A&gt; tool, which converts .resx format files to binary .resources files.&amp;nbsp; I get the filename by stripping the extension off of the .resx file and replacing it with .resources.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 3 - Get a list of resource files to include&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This is very similar to &lt;A href="#scarpenterStep1"&gt;Step 1&lt;/A&gt;, but here's the target for completeness' sake.&lt;/P&gt;
&lt;div class="cf"&gt;
&lt;pre class="cl"&gt;&lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="listResourceFiles"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;delete&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;file&lt;/span&gt;&lt;span class="cb1"&gt;="sourceResource.txt"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;if&lt;/span&gt;&lt;span class="cb1"&gt;="${file::exists('sourceResource.txt')}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;item&lt;/span&gt;&lt;span class="cb1"&gt;="File"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;property&lt;/span&gt;&lt;span class="cb1"&gt;="fName"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="*.resources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="*.png"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="${subDir}/**/*.resources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;include&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="${subDir}/**/*.png"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;items&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;in&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="resName"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="${path::get-file-name(fName)}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;echo&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;message&lt;/span&gt;&lt;span class="cb1"&gt;="/resource:&amp;amp;quot;${fName}&amp;amp;quot;,&amp;amp;quot;Company.Project.${subDir}.${resName}&amp;amp;quot;"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;append&lt;/span&gt;&lt;span class="cb1"&gt;="true"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;file&lt;/span&gt;&lt;span class="cb1"&gt;="sourceResource.txt"/&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;do&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;foreach&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;
&lt;P&gt;You can see that I'm also getting all files with a .png extension (I had one image embedded as a resource).&amp;nbsp; The other difference is that when writing the information to the file, I'm writing it as "&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/valrfresourceembedresourcefiletooutput.asp"&gt;/resource&lt;/A&gt;:fileName, fully qualified resource name". This is the format expected by the compiler and matches the way resources are named when compiling in Visual Studio.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 4 - Call the compiler&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The last step is to actually call the compiler, passing in the list of source files, the list of resources, plus any other options you may need.&amp;nbsp; This is another step I'd do differently - I'd use the &lt;A href="http://nant.sourceforge.net/release/latest/help/tasks/vbc.html"&gt;&amp;lt;vbc&amp;gt;&lt;/A&gt; task instead.&lt;/P&gt;
&lt;div class="cf"&gt;
&lt;pre class="cl"&gt;&lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="compileProj"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;mkdir&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;dir&lt;/span&gt;&lt;span class="cb1"&gt;="build\Debug\${subDir}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;unless&lt;/span&gt;&lt;span class="cb1"&gt;="${directory::exists('build\Debug\' + property::get-value('subDir'))}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="cmdLine"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="@${subDir}.rsp @sourceList.txt"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="cmdLine"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="${cmdLine + ' @sourceResource.txt'}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;if&lt;/span&gt;&lt;span class="cb1"&gt;="${file::exists('sourceResource.txt')}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;exec&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;program&lt;/span&gt;&lt;span class="cb1"&gt;="C:\WINNT\Microsoft.NET\Framework\v1.1.4322\vbc.exe"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;commandline&lt;/span&gt;&lt;span class="cb1"&gt;="${cmdLine}"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;output&lt;/span&gt;&lt;span class="cb1"&gt;="compileData_${subDir}.txt"/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;
&lt;P&gt;Here, I first make a directory to put the compiled file in.&amp;nbsp; Then, I build up the command line including an options file, the source file list, and the resource file list (if it exists).&amp;nbsp; Lastly, I use the &lt;A href="http://nant.sourceforge.net/release/latest/help/tasks/exec.html"&gt;&amp;lt;exec&amp;gt;&lt;/A&gt; task again to execute the compiler.&amp;nbsp; The options file looks like the following:&lt;/P&gt;
&lt;STYLE type=text/css&gt;
.cf { font-family: Courier New; font-size: 9pt; color: black; background: white; border-top: windowtext 1pt solid; padding-top: 0pt; border-left: windowtext 1pt solid; padding-left: 0pt; border-right: windowtext 1pt solid; padding-right: 0pt; border-bottom: windowtext 1pt solid; padding-bottom: 0pt; }
.cl { margin: 0px; }
&lt;/STYLE&gt;
&lt;DIV class=cf&gt;&lt;PRE class=cl&gt;/warnaserror&lt;/PRE&gt;&lt;PRE class=cl&gt;/t:winexe&lt;/PRE&gt;&lt;PRE class=cl&gt;/netcf&lt;/PRE&gt;&lt;PRE class=cl&gt;/sdkpath:c:\net\cfdll&lt;/PRE&gt;&lt;PRE class=cl&gt;/out:build\Debug\programName\programName.exe&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.data.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.xml.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.drawing.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.windows.forms.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:c:\net\cfdll\system.windows.forms.datagrid.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:build\Debug\DataAccess\DataAccess.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/r:build\Debug\CustomControls\CustomControls.dll&lt;/PRE&gt;&lt;PRE class=cl&gt;/debug+&lt;/PRE&gt;&lt;PRE class=cl&gt;/optionstrict+&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:Microsoft.VisualBasic&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Collections&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Configuration&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Data&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Diagnostics&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Drawing&lt;/PRE&gt;&lt;PRE class=cl&gt;/imports:System.Windows.Forms&lt;/PRE&gt;&lt;PRE class=cl&gt;/rootnamespace:Company.Project&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can see what each of these options do on &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/valrfvbcompileroptionslistedalphabetically.asp"&gt;MSDN&lt;/A&gt;.&amp;nbsp; Basically, they pass in the equivalent settings that Visual Studio uses when it compiles a project.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Wrapping Up&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;One final target I'll show here is the one that is actually called by NAnt.&amp;nbsp; It sets the "subDir" property and then calls the other tasks shown above.&lt;/P&gt;
&lt;div class="cf"&gt;
&lt;pre class="cl"&gt;&lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="compileMultiple"&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="subDir"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="CustomControls"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="listFiles"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="getResources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="compileProj"/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="subDir"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="DataAccess"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="listFiles"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="getResources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="compileProj"/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;property&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;name&lt;/span&gt;&lt;span class="cb1"&gt;="subDir"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;value&lt;/span&gt;&lt;span class="cb1"&gt;="programName"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="listFiles"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="getResources"&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb1"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="cb2"&gt;call&lt;/span&gt;&lt;span class="cb3"&gt; &lt;/span&gt;&lt;span class="cb4"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;="compileProj"/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="cl"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="cb1"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="cb2"&gt;target&lt;/span&gt;&lt;span class="cb1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If anyone has any questions (or wants to see the complete files), feel free to use the &lt;A href="http://www.geekswithblogs.net/scarpenter/contact.aspx"&gt;Contact&lt;/A&gt; link on this blog.&lt;/P&gt; &lt;img src="http://geekswithblogs.net/scarpenter/aggbug/58197.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Carpenter</dc:creator>
            <guid>http://geekswithblogs.net/scarpenter/archive/2005/10/26/58197.aspx</guid>
            <pubDate>Wed, 26 Oct 2005 16:56:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/scarpenter/archive/2005/10/26/58197.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/scarpenter/comments/commentRss/58197.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/scarpenter/services/trackbacks/58197.aspx</trackback:ping>
        </item>
    </channel>
</rss>
