<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>bencoffman.com/blog - .Net</title>
    <link>http://bencoffman.com/blog/</link>
    <description>News about Tech and a few other things.</description>
    <language>en-us</language>
    <copyright>Ben Coffman</copyright>
    <lastBuildDate>Sun, 22 Aug 2010 20:53:07 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>coffmanben@gmail.com</managingEditor>
    <webMaster>coffmanben@gmail.com</webMaster>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=1eea7866-ddff-462b-96e6-49897810bbdb</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,1eea7866-ddff-462b-96e6-49897810bbdb.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,1eea7866-ddff-462b-96e6-49897810bbdb.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1eea7866-ddff-462b-96e6-49897810bbdb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/ben.jpg" border="0" />
        <br />
        <br />
        <br />
        <br />
You wanna set up a continuous integration server for .net and you want to do it fast,
problem is learning all the darn elements and what they do for a nant script (default.build)
and for the Cruise Control script (ccnet.config), ugg what a pain. Well I'm here to
help you. I just created these two scripts on a very basic level to help you get moving
quickly, because who honestly wants to waste time setting these things up. I provided
plenty of comments too and links in the scripts to websites to make this as painless
and as quick as possible. 
<br /><br />
Feel free to take and use and build upon, but remember to share and certainly don't
snip it and play to your friends on how quickly you set it up and not tell them where
you went. That's just not cool. Some might even say you're being a poser. :)<pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"></span><font face="Times New Roman"><b><br />
Cruise Control config file ccnet.config:</b></font></pre><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;">&lt;!--
A great refrence website                                                --&gt;
&lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/#ccnettutsourcecontrolblock
--&gt;</span> &lt;cruisecontrol&gt;     &lt;project name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"testProject"</span>&gt;
        &lt;!-- URL of web <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">interface</span> set
up <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> cruise
control                    --&gt;
        &lt;webURL&gt;http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//localhost:8080/default.aspx&lt;/webURL&gt; </span>         
        &lt;!-- Directory of your project <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">checked</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">out</span> from
whatever            --&gt;
        &lt;!-- repository you use and build
script <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">is</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>                         --&gt;
        &lt;workingDirectory&gt;C:\dev\ccnet&lt;/workingDirectory&gt;
                 &lt;!--
Directory of where all the build logs will be placed            --&gt;
        &lt;artifactDirectory&gt;C:\develop\CCnet\project1CCnetArtifacts&lt;/artifactDirectory&gt;
                 &lt;!--
Hook <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">using</span> Subversion
                             
--&gt;                
        &lt;!-- Parameter documentation <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> sourcecontrol
plugin <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">using</span> svn:   
 --&gt;         &lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html        --&gt;</span>         &lt;sourcecontrol
type=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"svn"</span>&gt;
            &lt;trunkUrl&gt;http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//win-r7ld6grk131:1234/svn/testproject/trunk/testapp&lt;/trunkUrl&gt; </span>             &lt;workingDirectory&gt;C:\dev\ccnet&lt;/workingDirectory&gt;
            &lt;executable&gt;C:\csvn\bin\svn.exe&lt;/executable&gt;
            &lt;username&gt;admin&lt;/username&gt;
            &lt;password&gt;admin&lt;/password&gt;
            &lt;timeout&gt;60000&lt;/timeout&gt;            
        &lt;/sourcecontrol&gt;         
        &lt;!-- Hook <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> Git:
Didn't spend to much time                         --&gt;
        &lt;!-- setting <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">this</span> up
it may need some more tweeking                    --&gt;
        &lt;!-- and I'm not sure CC supports
it natively yet                    --&gt;
        &lt;!--         &lt;sourcecontrol
type=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"git"</span>&gt;
            &lt;repository&gt;C:\repositories\examplerepository\TestApplication&lt;/repository&gt;
            &lt;branch&gt;master&lt;/branch&gt;
            &lt;autoGetSource&gt;<span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">true</span>&lt;/autoGetSource&gt;
            &lt;executable&gt;git&lt;/executable&gt;
            &lt;tagOnSuccess&gt;<span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">false</span>&lt;/tagOnSuccess&gt;
            &lt;tagCommitMessage&gt;ccnet
build {0}&lt;/tagCommitMessage&gt;             &lt;workingDirectory&gt;C:\repositories\examplerepository\TestApplication&lt;/workingDirectory&gt;
            &lt;timeout&gt;60000&lt;/timeout&gt;
        &lt;/sourcecontrol&gt;         --&gt;
                 &lt;!--
How often it should check the repository <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> changes
            --&gt;         &lt;!--
Parameter documenation <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> triggers
                            --&gt;
        &lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ccnet.sourceforge.net/CCNET/Interval%20Trigger.html
    --&gt;</span>         &lt;triggers&gt;
            &lt;intervalTrigger
name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"SVN"</span> seconds=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"10"</span> buildCondition=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"IfModificationExists"</span> /&gt;
        &lt;/triggers&gt;         
                 
        &lt;!-- labels each build with my
name on the front of the project name    --&gt;         &lt;!--
Parameter documenation <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> labeller
at                                --&gt;    
        &lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ccnet.sourceforge.net/CCNET/Default%20Labeller.html            --&gt;</span>         &lt;labeller
type=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"defaultlabeller"</span>&gt;
            &lt;prefix&gt;Bens-TestProject-&lt;/prefix&gt;
            &lt;incrementOnFailure&gt;<span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">true</span>&lt;/incrementOnFailure&gt;
        &lt;/labeller&gt;         
                 
        &lt;!-- Runs the super sweet nant
script you created                    --&gt;
        &lt;!-- there <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">is</span> an
&lt;exec&gt; parameter <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> nunit
tests OR                --&gt;
        &lt;!-- You can just use &lt;nunit&gt;.....just
saying                        --&gt;
        &lt;!-- Parameter documentation <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> task                                --&gt;
        &lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ccnet.sourceforge.net/CCNET/Task%20Blocks.html            --&gt;</span>         &lt;tasks&gt;
            &lt;nant&gt;
                &lt;executable&gt;C:\nant-0.90\bin\nant.exe&lt;/executable&gt;
                &lt;baseDirectory&gt;C:\dev\ccnet&lt;/baseDirectory&gt;
                &lt;nologo&gt;<span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">false</span>&lt;/nologo&gt;
                &lt;buildFile&gt;<span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">default</span>.build&lt;/buildFile&gt;
                &lt;buildTimeoutSeconds&gt;1200&lt;/buildTimeoutSeconds&gt;
                &lt;targetList&gt;
                    &lt;target&gt;build&lt;/target&gt;
                &lt;/targetList&gt;
            &lt;/nant&gt;
        &lt;/tasks&gt;         
        &lt;!-- The directory to copy to.
A subdirectory called the current build's label will --&gt;         &lt;!--
be created, and the contents of sourceDir will be copied to it --&gt;         &lt;!--
http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ccnet.sourceforge.net/CCNET/Build%20Publisher.html
--&gt;</span>         &lt;publishers&gt;             &lt;buildpublisher&gt;
                &lt;sourceDir&gt;C:\dev\ccnet\bin&lt;/sourceDir&gt;
                &lt;publishDir&gt;C:\Builds\&lt;/publishDir&gt;
            &lt;/buildpublisher&gt;
        &lt;/publishers&gt;         
    &lt;/project&gt; &lt;/cruisecontrol&gt; </span></pre><br /><b><br /><br /><br />
nant build script default.build:</b><project name="&lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"><target name="&lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"><mkdir dir="&lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"><target name="&lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"><csc target="&lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"><br /></csc></target></mkdir></target></project><br /><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;">&lt;?xml
version=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"1.0"</span>?&gt;
&lt;!-- Good Reference site <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">for</span> the <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">new</span> comers                                    --&gt;
&lt;!-- http:<span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;">//ondotnet.com/pub/a/dotnet/2003/01/27/nant.html
                    --&gt;</span> &lt;project
name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Bens
Test Project"</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">default</span>=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"run"</span> basedir=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"."</span>&gt;
&lt;!-- REMEMBER:!! <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">as</span> of
version .90 nant only supporst building of            --&gt;
&lt;!-- Visual Studio 2002 and 2003 Solution files                             --&gt;
    &lt;!-- Builds your code and creates a bin directory to put
your             --&gt;
    &lt;!-- library's (assemblies) <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>                                            --&gt;
    &lt;target name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"library"</span>&gt;
        &lt;mkdir dir=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin"</span> /&gt;
        &lt;csc target=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"library"</span> output=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin\testLibrary.LastNames.dll"</span>&gt;
            &lt;sources&gt;
                &lt;!--
I used star here to compile all .cs files.             --&gt;
                &lt;!--
Also I put a slash <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span> so
I could put my build file <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>    --&gt;
                &lt;!--
The root solution folder and have it step into each    --&gt;
                &lt;!--
project file and build all the code it then takes the     --&gt;
                &lt;!--
library's (asseblies) and puts them <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span> the                --&gt;
                &lt;!--
root bin folder                                        --&gt;
                &lt;include
name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"testLibrary/*.cs"</span>/&gt;
            &lt;/sources&gt;
        &lt;/csc&gt;     &lt;/target&gt;
    &lt;!-- Builds your code and creates a bin directory to put
your             --&gt;
    &lt;!-- exe <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>                                    --&gt;
    &lt;target name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"build"</span> depends=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"library"</span>&gt;
        &lt;csc target=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"exe"</span> output=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin\BensTestApplication.exe"</span>&gt;
            &lt;sources&gt;
                &lt;!--
I used star here to compile all .cs files.             --&gt;
                &lt;!--
Also I put a slash <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span> so
I could put my build file <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>    --&gt;
                &lt;!--
The root solution folder and have it step into each    --&gt;
                &lt;!--
project file and build all the code it then takes the     --&gt;
                &lt;!--
exe and puts them <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span> the                                --&gt;
                &lt;!--
root bin folder                                        --&gt;
                &lt;include
name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"TestApplication/*.cs"</span>/&gt;
            &lt;/sources&gt;
            &lt;!-- classes
I referenced <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"BensTesdtApplication"</span> are <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">in</span>        --&gt;
            &lt;!-- <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">this</span> library                            
                    --&gt;
            &lt;references&gt;
                &lt;include
name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin\testLibrary.LastNames.dll"</span> /&gt;
            &lt;/references&gt;
        &lt;/csc&gt;     &lt;/target&gt;
    &lt;!-- Deletes the entire bin folder and all of its contents                --&gt;
    &lt;target name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"clean"</span>&gt;
        &lt;delete dir=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin"</span> failonerror=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"false"</span>/&gt;
    &lt;/target&gt;         &lt;!--
Executes the exe your program built,                                 --&gt;
    &lt;!-- This will not run <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">if</span> the <span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"build"</span><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"target"</span> fails
                    --&gt;
    &lt;!--     &lt;target name=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"run"</span> depends=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"build"</span>&gt;
        &lt;exec program=<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"bin\BensTestApplication.exe"</span>/&gt;
    &lt;/target&gt;     --&gt; &lt;/project&gt;</span></pre><br /><br /><br /><p></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=1eea7866-ddff-462b-96e6-49897810bbdb" /></body>
      <title>Making Continuous Integration Easier Cruise Control, ccnet, ccnet.config, default.build </title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,1eea7866-ddff-462b-96e6-49897810bbdb.aspx</guid>
      <link>http://bencoffman.com/blog/2010/08/22/MakingContinuousIntegrationEasierCruiseControlCcnetCcnetconfigDefaultbuild.aspx</link>
      <pubDate>Sun, 22 Aug 2010 20:53:07 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/ben.jpg" border="0"&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
You wanna set up a continuous integration server for .net and you want to do it fast,
problem is learning all the darn elements and what they do for a nant script (default.build)
and for the Cruise Control script (ccnet.config), ugg what a pain. Well I'm here to
help you. I just created these two scripts on a very basic level to help you get moving
quickly, because who honestly wants to waste time setting these things up. I provided
plenty of comments too and links in the scripts to websites to make this as painless
and as quick as possible. 
&lt;br&gt;
&lt;br&gt;
Feel free to take and use and build upon, but remember to share and certainly don't
snip it and play to your friends on how quickly you set it up and not tell them where
you went. That's just not cool. Some might even say you're being a poser. :)&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;font face="Times New Roman"&gt;&lt;b&gt;
&lt;br&gt;
Cruise Control config file ccnet.config:&lt;/b&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&amp;lt;!--
A great refrence website&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/#ccnettutsourcecontrolblock
--&amp;gt;&lt;/span&gt; &amp;lt;cruisecontrol&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"testProject"&lt;/span&gt;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- URL of web &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;interface&lt;/span&gt; set
up &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; cruise
control&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;webURL&amp;gt;http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//localhost:8080/default.aspx&amp;lt;/webURL&amp;gt; &lt;/span&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;&amp;nbsp;&amp;lt;!-- Directory of your project &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;checked&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;out&lt;/span&gt; from
whatever&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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- repository you use and build
script &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;is&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;workingDirectory&amp;gt;C:\dev\ccnet&amp;lt;/workingDirectory&amp;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;&amp;nbsp;&amp;lt;!--
Directory of where all the build logs will be placed&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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactDirectory&amp;gt;C:\develop\CCnet\project1CCnetArtifacts&amp;lt;/artifactDirectory&amp;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;&amp;nbsp;&amp;lt;!--
Hook &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;using&lt;/span&gt; Subversion
&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;&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;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;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Parameter documentation &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; sourcecontrol
plugin &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;using&lt;/span&gt; svn:&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;--&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;sourcecontrol
type=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"svn"&lt;/span&gt;&amp;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;lt;trunkUrl&amp;gt;http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//win-r7ld6grk131:1234/svn/testproject/trunk/testapp&amp;lt;/trunkUrl&amp;gt; &lt;/span&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;lt;workingDirectory&amp;gt;C:\dev\ccnet&amp;lt;/workingDirectory&amp;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;lt;executable&amp;gt;C:\csvn\bin\svn.exe&amp;lt;/executable&amp;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;lt;username&amp;gt;admin&amp;lt;/username&amp;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;lt;password&amp;gt;admin&amp;lt;/password&amp;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;lt;timeout&amp;gt;60000&amp;lt;/timeout&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/sourcecontrol&amp;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;&amp;nbsp;&amp;lt;!-- Hook &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; Git:
Didn't spend to much time &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- setting &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;this&lt;/span&gt; up
it may need some more tweeking&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- and I'm not sure CC supports
it natively yet&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;sourcecontrol
type=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"git"&lt;/span&gt;&amp;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;lt;repository&amp;gt;C:\repositories\examplerepository\TestApplication&amp;lt;/repository&amp;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;lt;branch&amp;gt;master&amp;lt;/branch&amp;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;lt;autoGetSource&amp;gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;true&lt;/span&gt;&amp;lt;/autoGetSource&amp;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;lt;executable&amp;gt;git&amp;lt;/executable&amp;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;lt;tagOnSuccess&amp;gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;false&lt;/span&gt;&amp;lt;/tagOnSuccess&amp;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;lt;tagCommitMessage&amp;gt;ccnet
build {0}&amp;lt;/tagCommitMessage&amp;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;lt;workingDirectory&amp;gt;C:\repositories\examplerepository\TestApplication&amp;lt;/workingDirectory&amp;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;lt;timeout&amp;gt;60000&amp;lt;/timeout&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/sourcecontrol&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
How often it should check the repository &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; changes
&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;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--
Parameter documenation &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; triggers
&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;&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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ccnet.sourceforge.net/CCNET/Interval%20Trigger.html
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;triggers&amp;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;lt;intervalTrigger
name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"SVN"&lt;/span&gt; seconds=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"10"&lt;/span&gt; buildCondition=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"IfModificationExists"&lt;/span&gt; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/triggers&amp;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;&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;&amp;nbsp;&amp;nbsp;&amp;lt;!-- labels each build with my
name on the front of the project name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--
Parameter documenation &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; labeller
at&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;&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;&amp;nbsp;&amp;nbsp;--&amp;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;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ccnet.sourceforge.net/CCNET/Default%20Labeller.html&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;gt;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;labeller
type=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"defaultlabeller"&lt;/span&gt;&amp;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;lt;prefix&amp;gt;Bens-TestProject-&amp;lt;/prefix&amp;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;lt;incrementOnFailure&amp;gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;true&lt;/span&gt;&amp;lt;/incrementOnFailure&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/labeller&amp;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;&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;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Runs the super sweet nant
script you created&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- there &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;is&lt;/span&gt; an
&amp;lt;exec&amp;gt; parameter &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; nunit
tests OR&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;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- You can just use &amp;lt;nunit&amp;gt;.....just
saying&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Parameter documentation &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; task&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;&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;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ccnet.sourceforge.net/CCNET/Task%20Blocks.html&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;gt;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tasks&amp;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;lt;nant&amp;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;&amp;nbsp;&amp;lt;executable&amp;gt;C:\nant-0.90\bin\nant.exe&amp;lt;/executable&amp;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;&amp;nbsp;&amp;lt;baseDirectory&amp;gt;C:\dev\ccnet&amp;lt;/baseDirectory&amp;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;&amp;nbsp;&amp;lt;nologo&amp;gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;false&lt;/span&gt;&amp;lt;/nologo&amp;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;&amp;nbsp;&amp;lt;buildFile&amp;gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;default&lt;/span&gt;.build&amp;lt;/buildFile&amp;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;&amp;nbsp;&amp;lt;buildTimeoutSeconds&amp;gt;1200&amp;lt;/buildTimeoutSeconds&amp;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;&amp;nbsp;&amp;lt;targetList&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;target&amp;gt;build&amp;lt;/target&amp;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;&amp;nbsp;&amp;lt;/targetList&amp;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;lt;/nant&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/tasks&amp;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;&amp;nbsp;&amp;lt;!-- The directory to copy to.
A subdirectory called the current build's label will --&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--
be created, and the contents of sourceDir will be copied to it --&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--
http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ccnet.sourceforge.net/CCNET/Build%20Publisher.html
--&amp;gt;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;publishers&amp;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;lt;buildpublisher&amp;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;&amp;nbsp;&amp;lt;sourceDir&amp;gt;C:\dev\ccnet\bin&amp;lt;/sourceDir&amp;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;&amp;nbsp;&amp;lt;publishDir&amp;gt;C:\Builds\&amp;lt;/publishDir&amp;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;lt;/buildpublisher&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/publishers&amp;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;lt;/project&amp;gt; &amp;lt;/cruisecontrol&amp;gt; &lt;/span&gt;&lt;/pre&gt;
&lt;br&gt;
&lt;b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
nant build script default.build:&lt;/b&gt;
&lt;project name="&amp;lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;
&lt;target name="&amp;lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;
&lt;mkdir dir="&amp;lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;
&lt;target name="&amp;lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;
&lt;csc target="&amp;lt;span" style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;
&lt;br&gt;
&lt;/csc&gt;
&lt;/target&gt;
&lt;/mkdir&gt;
&lt;/target&gt;
&lt;/project&gt;
&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&amp;lt;?xml
version=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"1.0"&lt;/span&gt;?&amp;gt;
&amp;lt;!-- Good Reference site &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;for&lt;/span&gt; the &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; comers&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;lt;!-- http:&lt;span style="color: Green; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;//ondotnet.com/pub/a/dotnet/2003/01/27/nant.html
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&lt;/span&gt; &amp;lt;project
name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Bens
Test Project"&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;default&lt;/span&gt;=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"run"&lt;/span&gt; basedir=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"."&lt;/span&gt;&amp;gt;
&amp;lt;!-- REMEMBER:!! &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;as&lt;/span&gt; of
version .90 nant only supporst building of&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;gt;
&amp;lt;!-- Visual Studio 2002 and 2003 Solution files &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;&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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Builds your code and creates a bin directory to put
your &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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- library's (assemblies) &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&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;&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;&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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;target name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"library"&lt;/span&gt;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;mkdir dir=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin"&lt;/span&gt; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;csc target=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"library"&lt;/span&gt; output=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin\testLibrary.LastNames.dll"&lt;/span&gt;&amp;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;lt;sources&amp;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;&amp;nbsp;&amp;lt;!--
I used star here to compile all .cs files. &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;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;&amp;nbsp;&amp;lt;!--
Also I put a slash &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; so
I could put my build file &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
The root solution folder and have it step into each&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
project file and build all the code it then takes the &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
library's (asseblies) and puts them &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; the&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;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
root bin folder&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;include
name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"testLibrary/*.cs"&lt;/span&gt;/&amp;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;lt;/sources&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/csc&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/target&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Builds your code and creates a bin directory to put
your &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;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- exe &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;target name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"build"&lt;/span&gt; depends=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"library"&lt;/span&gt;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;csc target=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"exe"&lt;/span&gt; output=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin\BensTestApplication.exe"&lt;/span&gt;&amp;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;lt;sources&amp;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;&amp;nbsp;&amp;lt;!--
I used star here to compile all .cs files. &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;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;&amp;nbsp;&amp;lt;!--
Also I put a slash &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; so
I could put my build file &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
The root solution folder and have it step into each&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
project file and build all the code it then takes the &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
exe and puts them &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; the&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;&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;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;!--
root bin folder&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;&amp;nbsp;&amp;lt;include
name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"TestApplication/*.cs"&lt;/span&gt;/&amp;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;lt;/sources&amp;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;lt;!-- classes
I referenced &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"BensTesdtApplication"&lt;/span&gt; are &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;lt;!-- &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;this&lt;/span&gt; library&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;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;lt;references&amp;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;&amp;nbsp;&amp;lt;include
name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin\testLibrary.LastNames.dll"&lt;/span&gt; /&amp;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;lt;/references&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/csc&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/target&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- Deletes the entire bin folder and all of its contents&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;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;target name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"clean"&lt;/span&gt;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;delete dir=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin"&lt;/span&gt; failonerror=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"false"&lt;/span&gt;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/target&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--
Executes the exe your program built, &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;&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;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- This will not run &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;if&lt;/span&gt; the &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"build"&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"target"&lt;/span&gt; fails
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;target name=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"run"&lt;/span&gt; depends=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"build"&lt;/span&gt;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exec program=&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"bin\BensTestApplication.exe"&lt;/span&gt;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/target&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt; &amp;lt;/project&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=1eea7866-ddff-462b-96e6-49897810bbdb" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,1eea7866-ddff-462b-96e6-49897810bbdb.aspx</comments>
      <category>.Net</category>
      <category>ccnet</category>
      <category>nant</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=6198c935-959e-4180-a4c9-bae38e3266bf</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,6198c935-959e-4180-a4c9-bae38e3266bf.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,6198c935-959e-4180-a4c9-bae38e3266bf.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6198c935-959e-4180-a4c9-bae38e3266bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <b>
          <img src="http://bencoffman.com/blog/content/binary/logo.gif" />
          <br />
          <br />
          <br />
        </b>
        <i>I recived this error when installing Crusise Control .Net (CCNet)</i>
        <br />
        <b>
          <br />
          <br />
Error Readout:</b>
        <br />
Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module
list<br /><br /><b>Fix:</b><br />
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 
<br />
or<br />
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i<br /><br /><i><b>Remember</b> in Windows 7 you have to run this in a command prompt with Administrator
privileges. The easiest way to do this is click your windows button in the lower left
corner, in search type cmd, then right click cmd and select "Run As Administrator."</i><br /><br /><b>Explanation:</b><br />
Apparently a glitch somewhere caused .net to not be registered with iis. I'm running
windows 7 with iis 7.x. This glitch really didn't make itself visible too well, but
hey when you are having a problem with .Net and all else fails, reboot or reinstall
.Net. It's the Microsoft way. :) And now Crusie Control .net should finally run on
your machine.<br /><br /><br />
These dudes posted the fix first. Thanks Fellas<br /><a href="http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/">http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/</a><br /><br /><p></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=6198c935-959e-4180-a4c9-bae38e3266bf" /></body>
      <title>Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module list</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,6198c935-959e-4180-a4c9-bae38e3266bf.aspx</guid>
      <link>http://bencoffman.com/blog/2010/08/21/HandlerCCNetHttpHandlerHasABadModuleManagedPipelineHandlerInItsModuleList.aspx</link>
      <pubDate>Sat, 21 Aug 2010 16:16:00 GMT</pubDate>
      <description>&lt;b&gt;&lt;img src="http://bencoffman.com/blog/content/binary/logo.gif"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;&lt;i&gt;I recived this error when installing Crusise Control .Net (CCNet)&lt;/i&gt;
&lt;br&gt;
&lt;b&gt;
&lt;br&gt;
&lt;br&gt;
Error Readout:&lt;/b&gt;
&lt;br&gt;
Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module
list&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Fix:&lt;/b&gt;
&lt;br&gt;
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 
&lt;br&gt;
or&lt;br&gt;
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i&lt;br&gt;
&lt;br&gt;
&lt;i&gt;&lt;b&gt;Remember&lt;/b&gt; in Windows 7 you have to run this in a command prompt with Administrator
privileges. The easiest way to do this is click your windows button in the lower left
corner, in search type cmd, then right click cmd and select "Run As Administrator."&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Explanation:&lt;/b&gt;
&lt;br&gt;
Apparently a glitch somewhere caused .net to not be registered with iis. I'm running
windows 7 with iis 7.x. This glitch really didn't make itself visible too well, but
hey when you are having a problem with .Net and all else fails, reboot or reinstall
.Net. It's the Microsoft way. :) And now Crusie Control .net should finally run on
your machine.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
These dudes posted the fix first. Thanks Fellas&lt;br&gt;
&lt;a href="http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/"&gt;http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=6198c935-959e-4180-a4c9-bae38e3266bf" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,6198c935-959e-4180-a4c9-bae38e3266bf.aspx</comments>
      <category>.Net</category>
      <category>ccnet</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=2bce5498-d93e-45e8-a967-6d59715d1116</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,2bce5498-d93e-45e8-a967-6d59715d1116.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,2bce5498-d93e-45e8-a967-6d59715d1116.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2bce5498-d93e-45e8-a967-6d59715d1116</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/logo.gif" border="0" />
        <b>
          <br />
          <br />
          <br />
          <br />
Error Readout:</b>
        <br />
"This configuration section cannot be used at this path. This happens when the section
is locked at a parent level. Locking is either by default...<br /><br /><b>Fix:</b><br />
Change the following values located in the applicationHost.config file located in
Windows\system32\inetsrv\config. 
<br /><br />
&lt;section name="handlers" overrideModeDefault="Deny" /&gt;  change this value
from "Deny" to "Allow"<br />
&lt;section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny"
/&gt; change this value from "Deny" to "Allow"<br /><br /><b>Explination:</b><br />
This error came up when I was setting up cruise control on windows 7 with iis 7. Cruise
control sets the platform for creating custom handlers for their applicaiton in the
future. Digging a little deeper you can see they set their custom handles to ".aspx"
which means they aren't changing anything, but they do give a good explanation in
the web.config file comments.<br /><br />
" &lt;!-- Yes, we are overriding .aspx - don't delete this! We are using .aspx since
we know it is already bound to ASP.NET. In future we might use a 
<br />
   different extension so that people can add their own ASP.NET pages if
they want to, but we should make sure in that case to change how 
<br />
   URLs are created --&gt;"<br /><br /><br />
The discussion for this error is here<br /><a href="http://forums.asp.net/t/1220987.aspx">http://forums.asp.net/t/1220987.aspx</a><br /><p></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=2bce5498-d93e-45e8-a967-6d59715d1116" /></body>
      <title>This configuration section cannot be used at this path. This happens when the section is locked Cruise Control</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,2bce5498-d93e-45e8-a967-6d59715d1116.aspx</guid>
      <link>http://bencoffman.com/blog/2010/08/19/ThisConfigurationSectionCannotBeUsedAtThisPathThisHappensWhenTheSectionIsLockedCruiseControl.aspx</link>
      <pubDate>Thu, 19 Aug 2010 14:35:17 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/logo.gif" border="0"&gt; &lt;b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Error Readout:&lt;/b&gt;
&lt;br&gt;
"This configuration section cannot be used at this path. This happens when the section
is locked at a parent level. Locking is either by default...&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Fix:&lt;/b&gt;
&lt;br&gt;
Change the following values located in the applicationHost.config file located in
Windows\system32\inetsrv\config. 
&lt;br&gt;
&lt;br&gt;
&amp;lt;section name="handlers" overrideModeDefault="Deny" /&amp;gt;&amp;nbsp; change this value
from "Deny" to "Allow"&lt;br&gt;
&amp;lt;section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny"
/&amp;gt; change this value from "Deny" to "Allow"&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Explination:&lt;/b&gt;
&lt;br&gt;
This error came up when I was setting up cruise control on windows 7 with iis 7. Cruise
control sets the platform for creating custom handlers for their applicaiton in the
future. Digging a little deeper you can see they set their custom handles to ".aspx"
which means they aren't changing anything, but they do give a good explanation in
the web.config file comments.&lt;br&gt;
&lt;br&gt;
" &amp;lt;!-- Yes, we are overriding .aspx - don't delete this! We are using .aspx since
we know it is already bound to ASP.NET. In future we might use a 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; different extension so that people can add their own ASP.NET pages if
they want to, but we should make sure in that case to change how 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; URLs are created --&amp;gt;"&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The discussion for this error is here&lt;br&gt;
&lt;a href="http://forums.asp.net/t/1220987.aspx"&gt;http://forums.asp.net/t/1220987.aspx&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=2bce5498-d93e-45e8-a967-6d59715d1116" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,2bce5498-d93e-45e8-a967-6d59715d1116.aspx</comments>
      <category>.Net</category>
      <category>ccnet</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=6805a787-e929-4516-8208-e2ea39d237bc</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,6805a787-e929-4516-8208-e2ea39d237bc.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,6805a787-e929-4516-8208-e2ea39d237bc.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6805a787-e929-4516-8208-e2ea39d237bc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/microsoft_.net_logo.png" width="120px" border="0" height="75px" />
        <br />
        <br />
        <br />
In work the other day we started to debate the best way to "mock" a web service. The
two ideas we boiled down to were either to create another web service exactly the
same as the original, except have it consume the data from a text file or to have
a flag in the existing data layer, trigger the code to read data from a text file
locally, thus removing an additional dependency created by making a second web service<br /><br />
What I came up with was this. We needed to decide what we were testing?<br /><br />
Are we testing<br />
1. To make sure the code can deal with the data correctly?<br />
Or<br />
2. Are we testing to see if our code can connect to the web service?<br /><br />
Since we would like to specify our own data, I believe this makes it pretty clear.
We are testing to make sure we can deal with the data correctly.<br /><br />
The first argument stated, that by making a new web service, in which we specify the
data, you are not only testing that the web service can connect but it can consume
it correctly. I believe this is where their thinking was different than mine.<br /><br />
In most web best practices you create a “N-Tier” architecture. Meaning that one of
the tiers is dedicated to connecting to the database and returning a data-dump. The
reason this is done is because most programming architects like to believe they can
sub in one data consumption tier with another, example, getting data from Oracle as
opposed to DB2 or getting data from a web service as opposed to a MSSQL database,
without causing any issues in the logic of the code. Thus, how the data is retrieve
is of little importance, but how it’s processed is where the real brains are and have
high importance. All of this being the point of separating this data layer tier from
the business logic tier. Now understanding this aspect you also have to think in the
mind of a tester. Testers want to remove as many external dependencies on the code
as possible.  Testers don’t care about the connection a web service makes, they
only care about the data it returns. Testers want to control that data and put in
their own to test for every scenario and they want to do it with as few dependencies
as possible. Therefore introducing a new web service that sits on some other server
is not favorable. Now in order to test code you have to maintain another server, another
web service and worry about any network issues between the tester and that web service.
However most would feel best practice would be to inject the data right into the code
nearly removing the data layer. This removes numerous external dependencies and makes
the code easier to maintain as it gets passed from generation to generation of developer
that comes and goes from the company.<br /><br />
The next question is, what would be the best way to inject this data? To make the
example easy I just added some additional code in the data layer where we consume
the web service and made it look at a flag I set in the web.config. If it says true,
it hits the web service, if the flag says false it consumes a local text file, the
path of which is also specified in the web.config. This is a down and dirty way of
doing it. There are more <i>elegant</i> ways such as using “<a href="http://martinfowler.com/articles/injection.html">Constructor
Based Dependency Injection</a>,” and using <a href="http://nmock.org/download.html">nMock</a>.<br /><br />
If you would like more information on the correct way to test a web service<a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/08/03/687841.aspx"> this
blog post </a> provides some very solid and good examples.<br /><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=6805a787-e929-4516-8208-e2ea39d237bc" /></body>
      <title>How To Test With A Web Service</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,6805a787-e929-4516-8208-e2ea39d237bc.aspx</guid>
      <link>http://bencoffman.com/blog/2010/08/01/HowToTestWithAWebService.aspx</link>
      <pubDate>Sun, 01 Aug 2010 22:55:34 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/microsoft_.net_logo.png" width="120px" border="0" height="75px"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
In work the other day we started to debate the best way to "mock" a web service. The
two ideas we boiled down to were either to create another web service exactly the
same as the original, except have it consume the data from a text file or to have
a flag in the existing data layer, trigger the code to read data from a text file
locally, thus removing an additional dependency created by making a second web service&lt;br&gt;
&lt;br&gt;
What I came up with was this. We needed to decide what we were testing?&lt;br&gt;
&lt;br&gt;
Are we testing&lt;br&gt;
1. To make sure the code can deal with the data correctly?&lt;br&gt;
Or&lt;br&gt;
2. Are we testing to see if our code can connect to the web service?&lt;br&gt;
&lt;br&gt;
Since we would like to specify our own data, I believe this makes it pretty clear.
We are testing to make sure we can deal with the data correctly.&lt;br&gt;
&lt;br&gt;
The first argument stated, that by making a new web service, in which we specify the
data, you are not only testing that the web service can connect but it can consume
it correctly. I believe this is where their thinking was different than mine.&lt;br&gt;
&lt;br&gt;
In most web best practices you create a “N-Tier” architecture. Meaning that one of
the tiers is dedicated to connecting to the database and returning a data-dump. The
reason this is done is because most programming architects like to believe they can
sub in one data consumption tier with another, example, getting data from Oracle as
opposed to DB2 or getting data from a web service as opposed to a MSSQL database,
without causing any issues in the logic of the code. Thus, how the data is retrieve
is of little importance, but how it’s processed is where the real brains are and have
high importance. All of this being the point of separating this data layer tier from
the business logic tier. Now understanding this aspect you also have to think in the
mind of a tester. Testers want to remove as many external dependencies on the code
as possible. &amp;nbsp;Testers don’t care about the connection a web service makes, they
only care about the data it returns. Testers want to control that data and put in
their own to test for every scenario and they want to do it with as few dependencies
as possible. Therefore introducing a new web service that sits on some other server
is not favorable. Now in order to test code you have to maintain another server, another
web service and worry about any network issues between the tester and that web service.
However most would feel best practice would be to inject the data right into the code
nearly removing the data layer. This removes numerous external dependencies and makes
the code easier to maintain as it gets passed from generation to generation of developer
that comes and goes from the company.&lt;br&gt;
&lt;br&gt;
The next question is, what would be the best way to inject this data? To make the
example easy I just added some additional code in the data layer where we consume
the web service and made it look at a flag I set in the web.config. If it says true,
it hits the web service, if the flag says false it consumes a local text file, the
path of which is also specified in the web.config. This is a down and dirty way of
doing it. There are more &lt;i&gt;elegant&lt;/i&gt; ways such as using “&lt;a href="http://martinfowler.com/articles/injection.html"&gt;Constructor
Based Dependency Injection&lt;/a&gt;,” and using &lt;a href="http://nmock.org/download.html"&gt;nMock&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
If you would like more information on the correct way to test a web service&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/08/03/687841.aspx"&gt; this
blog post &lt;/a&gt; provides some very solid and good examples.&lt;br&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=6805a787-e929-4516-8208-e2ea39d237bc" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,6805a787-e929-4516-8208-e2ea39d237bc.aspx</comments>
      <category>.Net</category>
      <category>Unit Testing</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=045e6f8a-b43f-4c79-8d7f-545b9eb95304</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,045e6f8a-b43f-4c79-8d7f-545b9eb95304.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,045e6f8a-b43f-4c79-8d7f-545b9eb95304.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=045e6f8a-b43f-4c79-8d7f-545b9eb95304</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/microsoft_.net_logo.png" height="75px" width="120px" border="0" />
        <br />
        <br />
        <b>
          <br />
          <br />
Error Readout:<br /></b>System.IndexOutOfRangeException:<b><br /><br /></b><b>Fix:<br /></b>I encountered the above error when I tried to run the query, 
<br /><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">SELECT</span><span style="color: Fuchsia; background-color: Transparent; font-family: Courier New; font-size: 11px;">MAX</span>(expression
)<br /><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">FROM</span> tables<br /><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">WHERE</span> predicates;</span><br /></pre>
and then loop through the results using a datareader with code like this,<br /><br /><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">while</span>(rdr.Read())<br />
{<br />
someLabel.Items.Add(rdr[<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"ColumnName"</span>].ToString());<br />
}<br /></span></pre>I got the error above, because when you do a "max" sql query it doesn't
return any column header. 
<br /><br />
All you need to do is give the sql result set a column header.<br /><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"><br /><b></b></span></span><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">SELECT</span><span style="color: Fuchsia; background-color: Transparent; font-family: Courier New; font-size: 11px;">MAX</span>(expression) <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">as</span> "ColumnName" <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"><br />
FROM</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">table</span><br /><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">where</span> predicates;</span></pre><b><br />
Explanation:<br /></b>This is another one of my bone head mistakes. It's such a simple little thing
I overlook, and gets me so disappointed in myself when I realize I spent time trying
to figure this out. It's generally followed by me looking over my shoulder and seeing
if any of my peers saw it. I'm mostly blogging this in hopes I won't make a silly
mistake like this again<b>. 
<br /><br /></b>Why is it always the baby errors that hang me up the most? It can never be something
deep in the CLR, or possibly find a mistake in .Net. Nope, noway, not gonna happen
.Net is pretty solid...for the most part.<b><br /></b><p></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=045e6f8a-b43f-4c79-8d7f-545b9eb95304" /></body>
      <title>System.IndexOutOfRangeException: with a datareader</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,045e6f8a-b43f-4c79-8d7f-545b9eb95304.aspx</guid>
      <link>http://bencoffman.com/blog/2010/07/14/SystemIndexOutOfRangeExceptionWithADatareader.aspx</link>
      <pubDate>Wed, 14 Jul 2010 04:14:10 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/microsoft_.net_logo.png" height="75px" width="120px" border="0"&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;
&lt;br&gt;
&lt;br&gt;
Error Readout:&lt;br&gt;
&lt;/b&gt;System.IndexOutOfRangeException:&lt;b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;&lt;b&gt;Fix:&lt;br&gt;
&lt;/b&gt;I encountered the above error when I tried to run the query, 
&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;SELECT&lt;/span&gt; &lt;span style="color: Fuchsia; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;MAX&lt;/span&gt;(expression
)&lt;br&gt;
&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;FROM&lt;/span&gt; tables&lt;br&gt;
&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;WHERE&lt;/span&gt; predicates;&lt;/span&gt;
&lt;br&gt;
&lt;/pre&gt;
and then loop through the results using a datareader with code like this,&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;while&lt;/span&gt;(rdr.Read())&lt;br&gt;
{&lt;br&gt;
someLabel.Items.Add(rdr[&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"ColumnName"&lt;/span&gt;].ToString());&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;&lt;/pre&gt;I got the error above, because when you do a "max" sql query it doesn't
return any column header. 
&lt;br&gt;
&lt;br&gt;
All you need to do is give the sql result set a column header.&lt;br&gt;
&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;
&lt;br&gt;
&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;SELECT&lt;/span&gt; &lt;span style="color: Fuchsia; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;MAX&lt;/span&gt;(expression) &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;as&lt;/span&gt; "ColumnName" &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;
&lt;br&gt;
FROM&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;table&lt;/span&gt; 
&lt;br&gt;
&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;where&lt;/span&gt; predicates;&lt;/span&gt;&lt;/pre&gt;&lt;b&gt;
&lt;br&gt;
Explanation:&lt;br&gt;
&lt;/b&gt;This is another one of my bone head mistakes. It's such a simple little thing
I overlook, and gets me so disappointed in myself when I realize I spent time trying
to figure this out. It's generally followed by me looking over my shoulder and seeing
if any of my peers saw it. I'm mostly blogging this in hopes I won't make a silly
mistake like this again&lt;b&gt;. 
&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;Why is it always the baby errors that hang me up the most? It can never be something
deep in the CLR, or possibly find a mistake in .Net. Nope, noway, not gonna happen
.Net is pretty solid...for the most part.&lt;b&gt;
&lt;br&gt;
&lt;/b&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=045e6f8a-b43f-4c79-8d7f-545b9eb95304" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,045e6f8a-b43f-4c79-8d7f-545b9eb95304.aspx</comments>
      <category>.Net</category>
      <category>SQL</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=ee2aea41-6f52-4b82-8416-d135b7d4a27f</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,ee2aea41-6f52-4b82-8416-d135b7d4a27f.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,ee2aea41-6f52-4b82-8416-d135b7d4a27f.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ee2aea41-6f52-4b82-8416-d135b7d4a27f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/images.jpeg" border="0" />
        <b>
          <br />
          <br />
          <br />
Error Readout:<br /></b>None, it's not an error silly.<br /><br /><b>The Problem:<br /></b>When I debug, and look at a string that contains my file path I see 2 backslashs
(escape characters) in my string when I only wanted 1.<br /><br /><b>The Solution:</b><br />
It's nothing, don't worry about it, that's just the way Visual Studio "debug" shows
your path when you catch it while debugging. When the path is used in the code for
the file system there will only be 1 backslash and it will work correctly.<br /><br />
This is such a stupid little thing, but for some reason every once in a blue moon,
I forget and freak out on why it's doing this, thus wasting a solid five minutes of
my life. I put this post up in hopes I will never forget again and that if someone
happens to Google this, my post will pop up and help them move on quickly....maybe
only wasting 1 to 2 minutes. :)<br /><p></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=ee2aea41-6f52-4b82-8416-d135b7d4a27f" /></body>
      <title>Debug: Double Backslashes In String, 2 Backslashes in String</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,ee2aea41-6f52-4b82-8416-d135b7d4a27f.aspx</guid>
      <link>http://bencoffman.com/blog/2010/06/30/DebugDoubleBackslashesInString2BackslashesInString.aspx</link>
      <pubDate>Wed, 30 Jun 2010 19:10:24 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/images.jpeg" border="0"&gt; &lt;b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Error Readout:&lt;br&gt;
&lt;/b&gt;None, it's not an error silly.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;The Problem:&lt;br&gt;
&lt;/b&gt;When I debug, and look at a string that contains my file path I see 2 backslashs
(escape characters) in my string when I only wanted 1.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;The Solution:&lt;/b&gt;
&lt;br&gt;
It's nothing, don't worry about it, that's just the way Visual Studio "debug" shows
your path when you catch it while debugging. When the path is used in the code for
the file system there will only be 1 backslash and it will work correctly.&lt;br&gt;
&lt;br&gt;
This is such a stupid little thing, but for some reason every once in a blue moon,
I forget and freak out on why it's doing this, thus wasting a solid five minutes of
my life. I put this post up in hopes I will never forget again and that if someone
happens to Google this, my post will pop up and help them move on quickly....maybe
only wasting 1 to 2 minutes. :)&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=ee2aea41-6f52-4b82-8416-d135b7d4a27f" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,ee2aea41-6f52-4b82-8416-d135b7d4a27f.aspx</comments>
      <category>.Net</category>
      <category>Visual Studio</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=aa6568ba-48f1-4b14-bfed-332818037c31</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,aa6568ba-48f1-4b14-bfed-332818037c31.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,aa6568ba-48f1-4b14-bfed-332818037c31.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=aa6568ba-48f1-4b14-bfed-332818037c31</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202009-09-17%20at%208.55.44%20PM.png" />
        <br />
        <br />
It's a good question. 
<br /><br />
There are some types that are not derived from NSObject, these types are called "Primitive
Types." Some examples of these types are 
<br /><ol><li>
int</li><li>
bool</li><li>
short</li><li>
long</li><li>
double</li><li>
char</li></ol>
Sooooo basically any type that is not derived from the NSObject class is a Primitive
type and does not require a "*".<br /><br />
Now I bet you are wondering how do I figure out if it's a primitive type or not. 
<br /><ol><li>
An easy way is to look at the color of the syntax in xCode, is it deep blue or a sky
blue? Deep blue = primitive type, but this is not entirely reliable as the standards
for coloring syntax can fluctuate or change.<br /></li></ol><br /><img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.44.07%20AM.png" border="0" /><br /><br /><li>
You can option-click on the object after you have typed it in xCode, click the little
book in the upper right hand corner, when the class reference viewer comes up, look
and see if it inherits from NSObject. If it doesn't it's Primitive and you don't need
a "*".<br /><br /><img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.49.43%20AM.png" border="0" /><br /><br /><br /><img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.55.21%20AM.png" border="0" /></li><br /><br /><b>Note:</b><br />
There are some alternatives to using the primitive type <i>int</i>, such as the reference
type <i>NSInteger,</i> which has some nice baked in functionality of distinguishing
between 32 bit and 64 bit, but not all primitive types have an alternative reference
type in Objective C.<br /><br /><br /><b>Just for fun:</b><br />
In .Net they have primitive types too(I believe they call them <i>value types</i>),
kinda. The compiler recognizes traditional primitive types and therefore lets you
use the syntax<br /><br /><i>int i = 5;</i><br /><br />
But despite the compiler letting you do this, this type still maps back to System.Int32.
All things in .Net are mapped back to System.Object. Everything is a reference type,
but .Net lets you keep the traditional syntax instead of writing:<br /><br /><i>System.Int32 i = new System.Int32(5);</i><br /><code><br /><br /><br /></code><br /><p></p><br /><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=aa6568ba-48f1-4b14-bfed-332818037c31" /></body>
      <title>When to use the * (star) with Objective C</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,aa6568ba-48f1-4b14-bfed-332818037c31.aspx</guid>
      <link>http://bencoffman.com/blog/2010/06/12/WhenToUseTheStarWithObjectiveC.aspx</link>
      <pubDate>Sat, 12 Jun 2010 15:59:04 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202009-09-17%20at%208.55.44%20PM.png"&gt;
&lt;br&gt;
&lt;br&gt;
It's a good question. 
&lt;br&gt;
&lt;br&gt;
There are some types that are not derived from NSObject, these types are called "Primitive
Types." Some examples of these types are 
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
int&lt;/li&gt;
&lt;li&gt;
bool&lt;/li&gt;
&lt;li&gt;
short&lt;/li&gt;
&lt;li&gt;
long&lt;/li&gt;
&lt;li&gt;
double&lt;/li&gt;
&lt;li&gt;
char&lt;/li&gt;
&lt;/ol&gt;
Sooooo basically any type that is not derived from the NSObject class is a Primitive
type and does not require a "*".&lt;br&gt;
&lt;br&gt;
Now I bet you are wondering how do I figure out if it's a primitive type or not. 
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
An easy way is to look at the color of the syntax in xCode, is it deep blue or a sky
blue? Deep blue = primitive type, but this is not entirely reliable as the standards
for coloring syntax can fluctuate or change.&lt;br&gt;
&lt;/li&gt;
&lt;br&gt;
&lt;img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.44.07%20AM.png" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;li&gt;
You can option-click on the object after you have typed it in xCode, click the little
book in the upper right hand corner, when the class reference viewer comes up, look
and see if it inherits from NSObject. If it doesn't it's Primitive and you don't need
a "*".&lt;br&gt;
&lt;br&gt;
&lt;img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.49.43%20AM.png" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://bencoffman.com/blog/content/binary/Screen%20shot%202010-06-12%20at%2011.55.21%20AM.png" border="0"&gt;
&lt;/li&gt;&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Note:&lt;/b&gt;
&lt;br&gt;
There are some alternatives to using the primitive type &lt;i&gt;int&lt;/i&gt;, such as the reference
type &lt;i&gt;NSInteger,&lt;/i&gt; which has some nice baked in functionality of distinguishing
between 32 bit and 64 bit, but not all primitive types have an alternative reference
type in Objective C.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Just for fun:&lt;/b&gt;
&lt;br&gt;
In .Net they have primitive types too(I believe they call them &lt;i&gt;value types&lt;/i&gt;),
kinda. The compiler recognizes traditional primitive types and therefore lets you
use the syntax&lt;br&gt;
&lt;br&gt;
&lt;i&gt;int i = 5;&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
But despite the compiler letting you do this, this type still maps back to System.Int32.
All things in .Net are mapped back to System.Object. Everything is a reference type,
but .Net lets you keep the traditional syntax instead of writing:&lt;br&gt;
&lt;br&gt;
&lt;i&gt;System.Int32 i = new System.Int32(5);&lt;/i&gt;
&lt;br&gt;
&lt;code&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/code&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=aa6568ba-48f1-4b14-bfed-332818037c31" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,aa6568ba-48f1-4b14-bfed-332818037c31.aspx</comments>
      <category>.Net</category>
      <category>Mac</category>
      <category>Mac OS X</category>
      <category>Objective C</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=0a93a0cf-f105-4afc-9db9-cb3ba88c19fd</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,0a93a0cf-f105-4afc-9db9-cb3ba88c19fd.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,0a93a0cf-f105-4afc-9db9-cb3ba88c19fd.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0a93a0cf-f105-4afc-9db9-cb3ba88c19fd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <br />
        <div id="u_bg" style="text-align: left;">
          <div id="yz-t" style="text-align: left;">
            <div id="y:d2" style="text-align: left;">
              <img src="http://bencoffman.com/blog/content/binary/May_19_2010_7303.jpg" style="height: 768px; width: 1024px;" />
            </div>
            <br />
          </div>
          <br />
        </div>
        <br />
What a wild month! London, Paris (loved Paris), and Barcelona, followed up with a
gig in Philly working for the second biggest software developer in the world on their
up front website, SAP.com. Before I dive into the limited aspects I can speak about
SAP.com's technology I would like to point out the facet of SAP that has had, and
will have, a lasting effect on me, the cafeteria. These people (SAP) treat their people
good! Made to order sushi, made to order Thai, a Philly cheese steak that will challenge
South Philly's finest and a Starbucks that feels like it was made just for me, all
this within a short walk from my desk. Really, next to the BMW the Germans know how
to do it.<br /><br />
Lets dive into my first day. I was sitting at my desk, after enjoying my oh-so-delicious
lunch of Alaskan Cod; I hear this loud noise getting louder. Turns out it was a helicopter
flying in with the American Co-CEO. As he gets out, much like a scene you might expect
to see from Iron Man, he has a dream effect on me. He waves at the people there to
greet him and follows up with a mock gun shot (I can only hope he made the clicking
sound that goes with the mock gun shot) at one of the security guards as he steps
into the Escalade, in my mind I say YES, awesome! I know right then and there I'm
going to love it for my limited time here.<br /><br />
I digress lets talk about a website that needs to address more nations than a senator
trying to get votes in NYC. In short, because this is all I will say and feel comfortable,
they follow a Model View Presenter (MVP) development process in making their site.
SAP's site addresses content based on what nation/region you are coming from all while
maintaining a similar look and feel for every end user. Think localization is easy
with .Net...not on this scale boys and girls! Now add a level complexity comprising
of several teams in more countries than you can count on one hand, developing for
this one site. To create a level of consistency across so many sites a template format
was built and an engine on top of the .Net engine to address what should be displayed....this
is all I will give up, but I can say it's fun and challenging.<br /><br />
Thanks to VML for making this small yet, incredible contract, possible.<br /><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=0a93a0cf-f105-4afc-9db9-cb3ba88c19fd" /></body>
      <title>Falling Upstairs</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,0a93a0cf-f105-4afc-9db9-cb3ba88c19fd.aspx</guid>
      <link>http://bencoffman.com/blog/2010/05/20/FallingUpstairs.aspx</link>
      <pubDate>Thu, 20 May 2010 02:34:04 GMT</pubDate>
      <description>&lt;br&gt;
&lt;div id="u_bg" style="text-align: left;"&gt;
&lt;div id="yz-t" style="text-align: left;"&gt;
&lt;div id="y:d2" style="text-align: left;"&gt;&lt;img src="http://bencoffman.com/blog/content/binary/May_19_2010_7303.jpg" style="height: 768px; width: 1024px;"&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
What a wild month! London, Paris (loved Paris), and Barcelona, followed up with a
gig in Philly working for the second biggest software developer in the world on their
up front website, SAP.com. Before I dive into the limited aspects I can speak about
SAP.com's technology I would like to point out the facet of SAP that has had, and
will have, a lasting effect on me, the cafeteria. These people (SAP) treat their people
good! Made to order sushi, made to order Thai, a Philly cheese steak that will challenge
South Philly's finest and a Starbucks that feels like it was made just for me, all
this within a short walk from my desk. Really, next to the BMW the Germans know how
to do it.&lt;br&gt;
&lt;br&gt;
Lets dive into my first day. I was sitting at my desk, after enjoying my oh-so-delicious
lunch of Alaskan Cod; I hear this loud noise getting louder. Turns out it was a helicopter
flying in with the American Co-CEO. As he gets out, much like a scene you might expect
to see from Iron Man, he has a dream effect on me. He waves at the people there to
greet him and follows up with a mock gun shot (I can only hope he made the clicking
sound that goes with the mock gun shot) at one of the security guards as he steps
into the Escalade, in my mind I say YES, awesome! I know right then and there I'm
going to love it for my limited time here.&lt;br&gt;
&lt;br&gt;
I digress lets talk about a website that needs to address more nations than a senator
trying to get votes in NYC. In short, because this is all I will say and feel comfortable,
they follow a Model View Presenter (MVP) development process in making their site.
SAP's site addresses content based on what nation/region you are coming from all while
maintaining a similar look and feel for every end user. Think localization is easy
with .Net...not on this scale boys and girls! Now add a level complexity comprising
of several teams in more countries than you can count on one hand, developing for
this one site. To create a level of consistency across so many sites a template format
was built and an engine on top of the .Net engine to address what should be displayed....this
is all I will give up, but I can say it's fun and challenging.&lt;br&gt;
&lt;br&gt;
Thanks to VML for making this small yet, incredible contract, possible.&lt;br&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=0a93a0cf-f105-4afc-9db9-cb3ba88c19fd" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,0a93a0cf-f105-4afc-9db9-cb3ba88c19fd.aspx</comments>
      <category>.Net</category>
      <category>Me</category>
      <category>SAP</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=12a5c304-d05e-4e7b-adaa-14a0230a951c</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,12a5c304-d05e-4e7b-adaa-14a0230a951c.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,12a5c304-d05e-4e7b-adaa-14a0230a951c.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=12a5c304-d05e-4e7b-adaa-14a0230a951c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/powershell1.jpg" style="float: left; margin-left: 0px; margin-right: 1em; width: 160px; height: 118px;" />
        <br />
        <br />
        <br />
        <br />
        <br />
        <div>
          <br />
        </div>
        <div>
          <br />
        </div>
        <div>
          <br />
        </div>
        <div>
          <br />
        </div>
        <div>
          <br />
        </div>
        <div>
          <b>The Problem:</b>
          <br />
Getting a Powershell script to run a batch script.<br /><br /><b>The Solution:</b><br />
powershell.exe -noexit d:\&lt;path to my batch script&gt;\Reporting_Code_Load.bat<br /><br /><b>Explanation:</b><br />
All you need to do is add the line above as is to your Powershell script. The "-noexit"
tells the command prompt to stay open, simply remove it if you don't want the command
prompt to open.<br /></div>
        <img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=12a5c304-d05e-4e7b-adaa-14a0230a951c" />
      </body>
      <title>Make Powershell run a batch script </title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,12a5c304-d05e-4e7b-adaa-14a0230a951c.aspx</guid>
      <link>http://bencoffman.com/blog/2010/02/05/MakePowershellRunABatchScript.aspx</link>
      <pubDate>Fri, 05 Feb 2010 21:47:22 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/powershell1.jpg" style="float: left; margin-left: 0px; margin-right: 1em; width: 160px; height: 118px;"&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;The Problem:&lt;/b&gt;
&lt;br&gt;
Getting a Powershell script to run a batch script.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;The Solution:&lt;/b&gt;
&lt;br&gt;
powershell.exe -noexit d:\&amp;lt;path to my batch script&amp;gt;\Reporting_Code_Load.bat&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Explanation:&lt;/b&gt; 
&lt;br&gt;
All you need to do is add the line above as is to your Powershell script. The "-noexit"
tells the command prompt to stay open, simply remove it if you don't want the command
prompt to open.&lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=12a5c304-d05e-4e7b-adaa-14a0230a951c" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,12a5c304-d05e-4e7b-adaa-14a0230a951c.aspx</comments>
      <category>.Net</category>
      <category>powershell</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=495ff9e5-688e-4110-a9ff-3594a6a55edc</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,495ff9e5-688e-4110-a9ff-3594a6a55edc.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,495ff9e5-688e-4110-a9ff-3594a6a55edc.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=495ff9e5-688e-4110-a9ff-3594a6a55edc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://bencoffman.com/blog/content/binary/PragmaticUnitTesting.jpg" style="width: 320px; height: 320px; float: left;" id="PragmaticUnitTesting" />If <a href="http://www.hanselman.com/blog/">Scott
Hanselman</a> lives and die's by unit tests, why don't we all just fall in line? It
seems the nerd community, has an uncanny ability to adopt silly things quickly. Things
like <a href="http://www.xkcd.com/">xkcd.com</a> or the idea of ninja's. I have yet
to laugh at one xkcd or understand how ninja's are relative in any shape or form,
because of this I felt I needed to read up on unit tests, specifically for C#, to
find out if it's just hype or this is something development shops with a strong QA
team really need to look at. 
<div><br /></div><div>I read two books that covered the topic of unit testing. The first book was <i><a href="http://www.openmymind.net/FoundationsOfProgramming.pdf">Foundations
of Programming</a></i> (recommended by Scottie H. himself and is free) and the second
is <i><a href="http://www.amazon.com/Pragmatic-Unit-Testing-NUnit-Programmers/dp/0974514020">Pragmatic
Unit Testing In C# with NUnit</a></i>. Both of them start off with the same old song
and dance on how you might have up front costs of introducing unit tests to your code,
but the stability these tests provide over the duration of your codes lifetime will
cause such dramatic cost savings for the company, it would be foolish not to explore
the idea. What a compelling sales pitch, a pitch salesmen, for just about any technology,
have used since the beginning of technology in businesses. I'll cut all the used car
salesman tactics out and state the most intriguing argument to unit test. It increases
code stability and it's easy.<br /></div><br /><div>The next question I asked myself: What do I exactly test in the code-base I am
working on? In <i>Pragmatic Unit Testing</i> (PUT) they give us an acronym to use
in order to answer this question. BICEP. 
<br /><br /></div><div><br />
BICEP, breaks down as such.
</div><div><br /></div><div><b>B</b>oundary Tests
</div><div><b>I</b>nversion Tests
</div><div><b>C</b>ross Check Tests
</div><div><b>E</b>rror Tests
</div><div><b>P</b>erformance Tests
</div><div><br /></div><div>These are the 5 major aspects one should test, according to PUT and it provides
unit testers with a place to start. The next major topic in discussing how to test
code is decoupling one piece of code to another. Does your code talk to a middleware?
How do you test if middleware is not done creating your service to consume or if middleware
is down? In steps <a href="http://www.nunit.org/index.php">NUnit Mocks</a>, <a href="http://www.nunit.org/index.php">NMock2</a>,
and <a href="http://www.nunit.org/index.php">DotNetMock</a>. These 3 mock frameworks
provide the developer with the ability to feed your tests predefined values, values
decided by you. Without going into how to use these mock frameworks, I believe that
outside of a few isolated situations they should not be used. The entire purpose of
testing your code is to test that you are getting information back that fits the criteria
you are looking for. If this information, that is beyond your control, changes on
whatever level for whatever reason, you as a developer need to know. Putting in mock
objects hides this.
</div><div><br /></div><div>Since I work for a web shop, the topic of web UI unit tests interested me. PUT
recommend using <a href="http://seleniumhq.org/">Selenium</a>. This makes sense because
it still uses the nunit style of testing keeping all your tests to one testing style.
Selenium seems a bit cumbersome in comparison to <a href="http://watin.sourceforge.net/">WaitN</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/3863">iMacro</a>,
but I feel keeping all your testing in the same style outweighs the cons of not using
Selenium. The more desperate testing sources you introduce, the more confusing it
is for an outsider to step in and see the whole picture when learning the code, especially
when it's not contained in a single <i>solution</i>.
</div><div><br /></div><div>Finally, I recommend reading both of the books mentioned, but lets be honest
most of us care so little about unit testing we'll be lucky to read all of 1 of these
books let alone all of both. If this is the case I recommend PUT, while the first
few chapters read like the high school teacher striving to gain his students social
acceptance, it's an easy read and you can jump into the book at nearly any chapter
and get the exact information you are looking for on unit testing. This is something
I wish all programming books could achieve. 
<br /></div><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=495ff9e5-688e-4110-a9ff-3594a6a55edc" /></body>
      <title>NUnit, NUnit Mocks, NMock2, DotNetMock, and Selenium : Pragmatic Unit Testing In C# with NUnit</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,495ff9e5-688e-4110-a9ff-3594a6a55edc.aspx</guid>
      <link>http://bencoffman.com/blog/2009/11/11/NUnitNUnitMocksNMock2DotNetMockAndSeleniumPragmaticUnitTestingInCWithNUnit.aspx</link>
      <pubDate>Wed, 11 Nov 2009 21:12:32 GMT</pubDate>
      <description>&lt;img src="http://bencoffman.com/blog/content/binary/PragmaticUnitTesting.jpg" style="width: 320px; height: 320px; float: left;" id="PragmaticUnitTesting"&gt;If &lt;a href="http://www.hanselman.com/blog/"&gt;Scott
Hanselman&lt;/a&gt; lives and die's by unit tests, why don't we all just fall in line? It
seems the nerd community, has an uncanny ability to adopt silly things quickly. Things
like &lt;a href="http://www.xkcd.com/"&gt;xkcd.com&lt;/a&gt; or the idea of ninja's. I have yet
to laugh at one xkcd or understand how ninja's are relative in any shape or form,
because of this I felt I needed to read up on unit tests, specifically for C#, to
find out if it's just hype or this is something development shops with a strong QA
team really need to look at. 
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;I read two books that covered the topic of unit testing. The first book was &lt;i&gt;&lt;a href="http://www.openmymind.net/FoundationsOfProgramming.pdf"&gt;Foundations
of Programming&lt;/a&gt;&lt;/i&gt; (recommended by Scottie H. himself and is free) and the second
is &lt;i&gt;&lt;a href="http://www.amazon.com/Pragmatic-Unit-Testing-NUnit-Programmers/dp/0974514020"&gt;Pragmatic
Unit Testing In C# with NUnit&lt;/a&gt;&lt;/i&gt;. Both of them start off with the same old song
and dance on how you might have up front costs of introducing unit tests to your code,
but the stability these tests provide over the duration of your codes lifetime will
cause such dramatic cost savings for the company, it would be foolish not to explore
the idea. What a compelling sales pitch, a pitch salesmen, for just about any technology,
have used since the beginning of technology in businesses. I'll cut all the used car
salesman tactics out and state the most intriguing argument to unit test. It increases
code stability and it's easy.&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div&gt;The next question I asked myself: What do I exactly test in the code-base I am
working on? In &lt;i&gt;Pragmatic Unit Testing&lt;/i&gt; (PUT) they give us an acronym to use
in order to answer this question. BICEP. 
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
BICEP, breaks down as such.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;B&lt;/b&gt;oundary Tests
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;I&lt;/b&gt;nversion Tests
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;C&lt;/b&gt;ross Check Tests
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;E&lt;/b&gt;rror Tests
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;P&lt;/b&gt;erformance Tests
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;These are the 5 major aspects one should test, according to PUT and it provides
unit testers with a place to start. The next major topic in discussing how to test
code is decoupling one piece of code to another. Does your code talk to a middleware?
How do you test if middleware is not done creating your service to consume or if middleware
is down? In steps &lt;a href="http://www.nunit.org/index.php"&gt;NUnit Mocks&lt;/a&gt;, &lt;a href="http://www.nunit.org/index.php"&gt;NMock2&lt;/a&gt;,
and &lt;a href="http://www.nunit.org/index.php"&gt;DotNetMock&lt;/a&gt;. These 3 mock frameworks
provide the developer with the ability to feed your tests predefined values, values
decided by you. Without going into how to use these mock frameworks, I believe that
outside of a few isolated situations they should not be used. The entire purpose of
testing your code is to test that you are getting information back that fits the criteria
you are looking for. If this information, that is beyond your control, changes on
whatever level for whatever reason, you as a developer need to know. Putting in mock
objects hides this.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Since I work for a web shop, the topic of web UI unit tests interested me. PUT
recommend using &lt;a href="http://seleniumhq.org/"&gt;Selenium&lt;/a&gt;. This makes sense because
it still uses the nunit style of testing keeping all your tests to one testing style.
Selenium seems a bit cumbersome in comparison to &lt;a href="http://watin.sourceforge.net/"&gt;WaitN&lt;/a&gt; or &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3863"&gt;iMacro&lt;/a&gt;,
but I feel keeping all your testing in the same style outweighs the cons of not using
Selenium. The more desperate testing sources you introduce, the more confusing it
is for an outsider to step in and see the whole picture when learning the code, especially
when it's not contained in a single &lt;i&gt;solution&lt;/i&gt;.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Finally, I recommend reading both of the books mentioned, but lets be honest
most of us care so little about unit testing we'll be lucky to read all of 1 of these
books let alone all of both. If this is the case I recommend PUT, while the first
few chapters read like the high school teacher striving to gain his students social
acceptance, it's an easy read and you can jump into the book at nearly any chapter
and get the exact information you are looking for on unit testing. This is something
I wish all programming books could achieve. 
&lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=495ff9e5-688e-4110-a9ff-3594a6a55edc" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,495ff9e5-688e-4110-a9ff-3594a6a55edc.aspx</comments>
      <category>.Net</category>
      <category>readings</category>
      <category>Unit Testing</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=1b984f21-060d-4549-bdd3-ca061a571ccb</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,1b984f21-060d-4549-bdd3-ca061a571ccb.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,1b984f21-060d-4549-bdd3-ca061a571ccb.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1b984f21-060d-4549-bdd3-ca061a571ccb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <font size="3">
          <b>
          </b>
        </font>
        <b>Error Readout:</b>
        <br />
        <i>Exception: System.Web.HttpException<br />
Message: Authentication of viewstate failed. 1) If this is a cluster, edit 
<machineKey>
configuration so all servers use the same validationKey and validation algorithm.
AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to
the same page. 3) The viewstate for this page might be corrupted.<br />
Source: System.Web<br />
at System.Web.UI.LosFormatter.Deserialize(String input)<br />
at System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
</machineKey></i>
        <br />
        <br />
        <br />
        <b>Fix:<br /></b>I encountered the above error the other day. Since the server wasn't on a web
farm I was a little confused. The fix I ended up using was updating the web.config
key to<br /><br /><font size="2"><b>requiressl=true</b></font><br /><br /><br /><b>Explanation: </b><br />
The next thing I asked myself was how can that key affect the viewstate. With some
serious investigation into viewstate and best practices I finally made the link of
how our applications viewstate is tied to session state which is tied to SSL when
the session cookies are encrypted manually, a step (encrypting our own session cookies
manually) we did because we are still running asp.net 1.1.<br /><div><br /><i>How to manually encrypt the sessionid in a cookie</i><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><br />
Response.Cookies[<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"ASP.NET_SessionId"</span>].Secure</span><br /><br />
Lets dive right into how session state and viewstate work to get a better understanding
of the solution. ASP.NET session state lets you associate a server-side string or
object dictionary containing state data with a particular HTTP client session. A session
is defined as a series of requests issued by the same client within a certain period
of time, and is managed by associating a session ID with each unique client. The ID
is supplied by the client on each request, either in a cookie or as a special fragment
of the request URL.<br />
[<a href="http://msdn.microsoft.com/en-us/magazine/cc163730.aspx">http://msdn.microsoft.com/en-us/magazine/cc163730.aspx</a>]
</div><br />
In .net 1.1 there is a property called "ViewStateUserKey" located in the viewstate,
this key adds user-specific information to the view state. When the request is processed,
ASP.NET extracts the key from the view state and compares it against the <b>ViewStateUserKey</b> of
the running page. If the two match, the request is considered legitimate; otherwise
an exception is thrown. In our application we use the Session.SessionID to set the
property. This is where my problem starts. 
<br /><br />
When a user fills out a form utilizing viewstate to create an account to login to
our system the user establishes a viewstate in their asp.net page. In order to make
the view state slightly more secure we give the viewstateuserkey the same value as
the session ID. The session ID is a much better fit because a session ID is unpredictable,
times out, and varies on a per-user basis<br />
[<a href="http://msdn.microsoft.com/en-us/library/ms972969.aspx">http://msdn.microsoft.com/en-us/library/ms972969.aspx</a>]<br /><br />
Once the user has completely filled out the form, we authenticate them. This is where
my error occurs [See beginning of post]. 
<br /><br /><br />
The error is caused because the session id is now encrypted. It's encrypted because
our security team said, all information stored in cookies is to be secured. Our team
consequently set up a flag in the global.asax file that states if this flag is set
to true it should grab the session id out of each cookie and encrypt it. The reason
we did this by hand is because asp.net 1.1 does not offer secure cookies with one
easy key change in the web.config [NOTE: In asp.net 2.0 all you have to do is have
the requiressl=true and you are done].<br /><br />
Now understanding that our session ID is tied to our viewstateuserkey you can understand
the viewstateuserkey is now invalid because the session ID is a different value, simply
because it's encrypted and the server does not know to decrypt it. [<i>NOTE: The session
ID may still be the same value, it's just encrypted.</i>] Now asp.net states the viewstateuserkey
is invalid and pumps out the error you have seen above. 
<br /><br />
To fix this I simply change requiressl=true in the web.config. How does requrie ssl
affect an encrypted session id within a cookie that I set to encrypt? Well, when requiressl
is not on but you are sending the server a secure cookie value, which we did since
we created our own secure cookies in asp.net 1.1 the server doesn't know to decrypt
the cookie because requiressl is not turned on [<i>apparently you have to send secure
cookies over ssl in asp.net 1.1 and possibly other run times, I didn't know this</i>]
which in turn invalidates the viewstateuserkey because the viewstateuserkey uses the
session ID which is encrypted in the secure cookie. 
<br /><br />
What made this confusing for me is the first part of the form worked without a hitch.
It's when the user authenticates when the error arose. The reason for this being that
the requiressl key is not applicable until authentication happens. If you'll notice
the requiressl key is nested in the authentication element in the web.config file.
Additionally we don't encrypt the cookie until the user is authenticated. Sooo, the
first few postbacks for our page were just collecting information. It wasn't until
we authenticated the user to our system that requiressl actually cared if we had secure
cookies or not. 
<br /><br /><br /><b>Overview</b><br />
Viewstateuserkey is set to the session ID.<br /><br />
Session ID is encrypted and the updated value is set to the viewstateuserkey<br /><br />
requressl being turned on tells the server to decrypt session id in which case allows
the viewstateuserkey to remain valid with the server.<br /><br /><p><br /></p><img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=1b984f21-060d-4549-bdd3-ca061a571ccb" /></body>
      <title>1) If this is a cluster, edit &lt;machineKey&gt; configuration so all servers use the same validationKey  ...</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,1b984f21-060d-4549-bdd3-ca061a571ccb.aspx</guid>
      <link>http://bencoffman.com/blog/2009/07/21/1IfThisIsAClusterEditConfigurationSoAllServersUseTheSameValidationKey.aspx</link>
      <pubDate>Tue, 21 Jul 2009 17:30:38 GMT</pubDate>
      <description>&lt;font size="3"&gt;&lt;b&gt;&lt;/b&gt;&lt;/font&gt;&lt;b&gt;Error Readout:&lt;/b&gt;
&lt;br&gt;
&lt;i&gt;Exception: System.Web.HttpException&lt;br&gt;
Message: Authentication of viewstate failed. 1) If this is a cluster, edit 
&lt;machineKey&gt;
configuration so all servers use the same validationKey and validation algorithm.
AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to
the same page. 3) The viewstate for this page might be corrupted.&lt;br&gt;
Source: System.Web&lt;br&gt;
at System.Web.UI.LosFormatter.Deserialize(String input)&lt;br&gt;
at System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Fix:&lt;br&gt;
&lt;/b&gt;I encountered the above error the other day. Since the server wasn't on a web
farm I was a little confused. The fix I ended up using was updating the web.config
key to&lt;br&gt;
&lt;br&gt;
&lt;font size="2"&gt;&lt;b&gt;requiressl=true&lt;/b&gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Explanation: &lt;/b&gt;
&lt;br&gt;
The next thing I asked myself was how can that key affect the viewstate. With some
serious investigation into viewstate and best practices I finally made the link of
how our applications viewstate is tied to session state which is tied to SSL when
the session cookies are encrypted manually, a step (encrypting our own session cookies
manually) we did because we are still running asp.net 1.1.&lt;br&gt;
&lt;div&gt;
&lt;br&gt;
&lt;i&gt;How to manually encrypt the sessionid in a cookie&lt;/i&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;
&lt;br&gt;
Response.Cookies[&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"ASP.NET_SessionId"&lt;/span&gt;].Secure&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
Lets dive right into how session state and viewstate work to get a better understanding
of the solution. ASP.NET session state lets you associate a server-side string or
object dictionary containing state data with a particular HTTP client session. A session
is defined as a series of requests issued by the same client within a certain period
of time, and is managed by associating a session ID with each unique client. The ID
is supplied by the client on each request, either in a cookie or as a special fragment
of the request URL.&lt;br&gt;
[&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163730.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc163730.aspx&lt;/a&gt;]
&lt;/div&gt;
&lt;br&gt;
In .net 1.1 there is a property called "ViewStateUserKey" located in the viewstate,
this key adds user-specific information to the view state. When the request is processed,
ASP.NET extracts the key from the view state and compares it against the &lt;b&gt;ViewStateUserKey&lt;/b&gt; of
the running page. If the two match, the request is considered legitimate; otherwise
an exception is thrown. In our application we use the Session.SessionID to set the
property. This is where my problem starts. 
&lt;br&gt;
&lt;br&gt;
When a user fills out a form utilizing viewstate to create an account to login to
our system the user establishes a viewstate in their asp.net page. In order to make
the view state slightly more secure we give the viewstateuserkey the same value as
the session ID. The session ID is a much better fit because a session ID is unpredictable,
times out, and varies on a per-user basis&lt;br&gt;
[&lt;a href="http://msdn.microsoft.com/en-us/library/ms972969.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms972969.aspx&lt;/a&gt;]&lt;br&gt;
&lt;br&gt;
Once the user has completely filled out the form, we authenticate them. This is where
my error occurs [See beginning of post]. 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The error is caused because the session id is now encrypted. It's encrypted because
our security team said, all information stored in cookies is to be secured. Our team
consequently set up a flag in the global.asax file that states if this flag is set
to true it should grab the session id out of each cookie and encrypt it. The reason
we did this by hand is because asp.net 1.1 does not offer secure cookies with one
easy key change in the web.config [NOTE: In asp.net 2.0 all you have to do is have
the requiressl=true and you are done].&lt;br&gt;
&lt;br&gt;
Now understanding that our session ID is tied to our viewstateuserkey you can understand
the viewstateuserkey is now invalid because the session ID is a different value, simply
because it's encrypted and the server does not know to decrypt it. [&lt;i&gt;NOTE: The session
ID may still be the same value, it's just encrypted.&lt;/i&gt;] Now asp.net states the viewstateuserkey
is invalid and pumps out the error you have seen above. 
&lt;br&gt;
&lt;br&gt;
To fix this I simply change requiressl=true in the web.config. How does requrie ssl
affect an encrypted session id within a cookie that I set to encrypt? Well, when requiressl
is not on but you are sending the server a secure cookie value, which we did since
we created our own secure cookies in asp.net 1.1 the server doesn't know to decrypt
the cookie because requiressl is not turned on [&lt;i&gt;apparently you have to send secure
cookies over ssl in asp.net 1.1 and possibly other run times, I didn't know this&lt;/i&gt;]
which in turn invalidates the viewstateuserkey because the viewstateuserkey uses the
session ID which is encrypted in the secure cookie. 
&lt;br&gt;
&lt;br&gt;
What made this confusing for me is the first part of the form worked without a hitch.
It's when the user authenticates when the error arose. The reason for this being that
the requiressl key is not applicable until authentication happens. If you'll notice
the requiressl key is nested in the authentication element in the web.config file.
Additionally we don't encrypt the cookie until the user is authenticated. Sooo, the
first few postbacks for our page were just collecting information. It wasn't until
we authenticated the user to our system that requiressl actually cared if we had secure
cookies or not. 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Overview&lt;/b&gt;
&lt;br&gt;
Viewstateuserkey is set to the session ID.&lt;br&gt;
&lt;br&gt;
Session ID is encrypted and the updated value is set to the viewstateuserkey&lt;br&gt;
&lt;br&gt;
requressl being turned on tells the server to decrypt session id in which case allows
the viewstateuserkey to remain valid with the server.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=1b984f21-060d-4549-bdd3-ca061a571ccb" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,1b984f21-060d-4549-bdd3-ca061a571ccb.aspx</comments>
      <category>.Net</category>
      <category>session state</category>
      <category>viewstate</category>
    </item>
    <item>
      <trackback:ping>http://bencoffman.com/blog/Trackback.aspx?guid=06e3fffc-b763-434e-ba10-6c44939c90ed</trackback:ping>
      <pingback:server>http://bencoffman.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://bencoffman.com/blog/PermaLink,guid,06e3fffc-b763-434e-ba10-6c44939c90ed.aspx</pingback:target>
      <dc:creator>Ben Coffman</dc:creator>
      <wfw:comment>http://bencoffman.com/blog/CommentView,guid,06e3fffc-b763-434e-ba10-6c44939c90ed.aspx</wfw:comment>
      <wfw:commentRss>http://bencoffman.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=06e3fffc-b763-434e-ba10-6c44939c90ed</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <title>DasBlog, instructions for the rest of us.</title>
      <guid isPermaLink="false">http://bencoffman.com/blog/PermaLink,guid,06e3fffc-b763-434e-ba10-6c44939c90ed.aspx</guid>
      <link>http://bencoffman.com/blog/2009/01/22/DasBlogInstructionsForTheRestOfUs.aspx</link>
      <pubDate>Thu, 22 Jan 2009 20:39:00 GMT</pubDate>
      <description>Jumping right in.  The instructions on the &lt;a id="wdah" href="http://www.dasblog.info/" title="dasblog"&gt;dasBlog&lt;/a&gt; website
of how to install dasBlog on a shared hosting environment are close to zero. The discussion
boards offer some insight but in order to get some real feedback you had to post the
question, wait and hope they reply soon...if ever. 
&lt;br&gt;
I will start by showing you the painful way of installing dasBlog on a shared hosting
environment and end with showing you the painless way on Godaddy.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Painful starts Below:&lt;/b&gt;
&lt;br&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Getting the Code and Getting it to Your Hosting Provider (Godaddy)&lt;/b&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;
Get the code from &lt;a href="http://www.codeplex.com/dasBlog/Release/ProjectReleases.aspx?ReleaseId=17989" id="xsxu" title="dasblog"&gt;dasBlog&lt;/a&gt;.
Download the "web files" unless you want to tinker with the source, a topic I don't
cover. 
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;Unzip the code and pull out the "dasblogce" folder.
I renamed this folder to "blog." Next I uploaded the folder to my hosting service
at Godaddy&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Permissions and Config's&lt;/b&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-left: 40px;"&gt;
&lt;div style="padding: 1em 0px; text-align: left;" id="ns-e"&gt;Edit the web.config and
siteSecurity.config according to the&lt;a href="http://dasblog.info/SetupInstall.aspx" id="wltg" title="instructions" style="color: rgb(85, 26, 139);"&gt; instructions&lt;/a&gt; on
the website. You will also need to change the permissions on three folders logs, content, &lt;span style="border-collapse: collapse;"&gt;siteconfig
to have read/write access.&lt;/span&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div style="padding: 1em 0px; text-align: left;" id="ns-e"&gt;&lt;img src="http://bencoffman.com/blog/content/binary/readwritedirectories.png" style="width: 804px; height: 166px;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span style="border-collapse: collapse;"&gt; &lt;/span&gt;&lt;span style="border-collapse: collapse;"&gt;I
will discuss the web.config edits a little because it seems there is a bit of ambiguity
on the web with how the trust should be set up.&lt;/span&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span style="border-collapse: collapse; font-family: arial;"&gt;
&lt;br&gt;
&lt;span style="font-family: Verdana;"&gt;The out of the box setup of the web.config trust
elements:&lt;/span&gt; &lt;/span&gt;
&lt;br&gt;
&lt;font color="#ff0000"&gt;&amp;lt;!-- &amp;lt;trust level="Medium" originUrl=".*" /&amp;gt; --&amp;gt;&lt;br&gt;
&amp;lt;trust level="Full" originUrl="" /&amp;gt; &lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
I simply removed &lt;font color="#ff0000"&gt;&amp;lt;trust level="Full" originUrl="" /&amp;gt; &lt;/font&gt;so
all I had was the commented out &lt;font color="#ff0000"&gt;&amp;lt;!-- &amp;lt;trust level="Medium"
originUrl=".*" /&amp;gt; --&amp;gt; &lt;/font&gt;element. 
&lt;!-- &lt;trust level="Medium" originUrl=".*" /&gt; --&gt;
I have heard some talk to just remove &lt;font color="#ff0000"&gt;&amp;lt;!-- &amp;lt;trust level="Medium"
originUrl=".*" /&amp;gt; --&amp;gt; &lt;/font&gt;all together and others saying if you un-comment
the element the blog should work. For Godaddy removing the one line and commenting
out the other is what worked for me. I always like to leave configuration setting
in the file and just comment them out. I will forget about them if I don't....I blame
college.&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span style="border-collapse: collapse;"&gt;&lt;b&gt;Adding Virtual Directories and Changing
Settings &lt;/b&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt; 
&lt;div style="padding: 1em 0px; text-align: left;" id="is1h"&gt;This is the part which
slowed me down. You will need to not only create a virtual directory the same name
as the folder that holds the content for your blog, in this example that directory
is named "blog", but you will also have to create 3 sub virtual directories under
the "blog" virtual directory on Godaddy called "logs," "content," and "siteconfig."
Notice the virtual directories are the same name as the folders within the "blog"
folder. 
&lt;br&gt;
&lt;/div&gt;
&lt;div style="padding: 1em 0px; text-align: left;" id="is1h"&gt;&lt;img src="http://bencoffman.com/blog/content/binary/IIS7directorysetup.png" width:="" 784px;="" height:="" 417px;=""&gt;
&lt;/div&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span style="border-collapse: collapse;"&gt; &lt;/span&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Next,
you will need to change the settings on all four virtual directory folders to have
"anonymous access" and "application root." Finally you will need to change IIS7 from
integrated mode to classic mode. (Update: i've been told that if you use the web.config
file that is meant for IIS7 integrated you will not have to make this change. For
right now the standard package with dasblog is the web.config which requires you to
use classic mode).&lt;br&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt; 
&lt;div style="padding: 1em 0px; text-align: left;" id="t2al"&gt;&lt;img src="http://bencoffman.com/blog/content/binary/IIS7Classic.png" style="width: 763px; height: 148px;"&gt;
&lt;/div&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="border-collapse: collapse;"&gt;
&lt;br&gt;
&lt;/span&gt; 
&lt;/div&gt;
Once you have followed these steps and followed the steps provided by dasBlog you
should be good to go on installing dasBlog on a hosting provider the hard way. 
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Some of the problems I ran into.&lt;/b&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
The first error I was recived was a "&lt;font color="#ff0000"&gt;HTTP Error 500 - Internal
server error.&lt;/font&gt;" This error really tells you nothing and was quite frustrating.
I eventually fixed the error by switching IIS7 to classic mode on godaddy.&lt;/li&gt;
&lt;li&gt;
The second error I encountered was "&lt;span style="color: rgb(255, 0, 0);"&gt;System.Security.SecurityException:
Request for the permission of type 'System.Security.Permissions.SecurityPermission,&lt;/span&gt;"
This was due to the fact I did not have the 3 virtual directories set up under my
"blog" virtual directory in IIS7.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Painless way&lt;/b&gt; 
&lt;ul&gt;
&lt;li&gt;
Click "Your Applications" from the home screen of your "Hosting Control Center"&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="webkit-indent-blockquote" style="border: medium none ; margin: 0pt 0pt 0pt 40px; padding: 0px;"&gt; &lt;img src="http://bencoffman.com/blog/content/binary/yourapplications.png" style="width: 736px; height: 170px;"&gt; &lt;/blockquote&gt; 
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Select "blogs" from the left hand menu&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Select "dasBlog" from the list of blogs&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Select "Install Now"&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="webkit-indent-blockquote" style="border: medium none ; margin: 0pt 0pt 0pt 40px; padding: 0px;"&gt;If
by chance Godaddy states your hosting plan is not supported for this product. You
have to have .net and IIS. If you have IIS7 make sure you have it on classic mode.
Without classic mode, .net, and IIS, Godaddy tells you your hosting plan is not compatible.&lt;br&gt;
&lt;div style="padding: 1em 0px; text-align: left;" id="bgwf"&gt;&lt;img src="http://bencoffman.com/blog/content/binary/insideapplicationinstaller.PNG" style="width: 765px; height: 413px;"&gt;
&lt;/div&gt;
&lt;/blockquote&gt; 
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://bencoffman.com/blog/aggbug.ashx?id=06e3fffc-b763-434e-ba10-6c44939c90ed" /&gt;</description>
      <comments>http://bencoffman.com/blog/CommentView,guid,06e3fffc-b763-434e-ba10-6c44939c90ed.aspx</comments>
      <category>.Net</category>
      <category>dasBlog</category>
    </item>
  </channel>
</rss>