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

<channel>
	<title>Rob Robertson</title>
	<atom:link href="http://robrobertson.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://robrobertson.net</link>
	<description>//todo: insert some clever tagline here</description>
	<lastBuildDate>Mon, 15 Jun 2009 21:28:51 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/5a40509751a211f7e6a30268bbe3f1f4?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Rob Robertson</title>
		<link>http://robrobertson.net</link>
	</image>
			<item>
		<title>Generate Dynamic iTextSharp PDF Documents from ASP.Net</title>
		<link>http://robrobertson.net/2009/06/15/dynamic-itextsharp-pdf-documents/</link>
		<comments>http://robrobertson.net/2009/06/15/dynamic-itextsharp-pdf-documents/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 21:02:24 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.net/?p=35</guid>
		<description><![CDATA[Here&#8217;s two examples to dynamically create PDF&#8217;s using iTextSharps&#8217; HTML Parser: in the browser and also a method to write the pdf to disk.

using System;
using System.Web;
using System.Web.UI;
using System.IO;
using System.Xml;
using iTextSharp.text;
using iTextSharp.text.html;
using iTextSharp.text.pdf;

namespace Web
{
    public partial class iTextSharpDemo : System.Web.UI.Page
    {
        protected void [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=35&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Here&#8217;s two examples to dynamically create PDF&#8217;s using iTextSharps&#8217; HTML Parser: in the browser and also a method to write the pdf to disk.</p>
<pre name="code" class="css">
using System;
using System.Web;
using System.Web.UI;
using System.IO;
using System.Xml;
using iTextSharp.text;
using iTextSharp.text.html;
using iTextSharp.text.pdf;

namespace Web
{
    public partial class iTextSharpDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //Example HTML String
            string html = &quot;&lt;html&gt;&lt;p align=&#039;center&#039;&gt;Hello World!&lt;/p&gt;&lt;newpage /&gt;Hello 2nd Page!&lt;/html&gt;&quot;;

            //Parse the HTML to PDF and Write PDF to disk
            WritePdf(html, @&quot;c:\temp\share\mypdf.pdf&quot;);

            //Parse the HTML to PDF and write PDF bytes to browser via the outputstream
            MemoryStream m = CreatePdf(html);
            Response.ContentType = &quot;application/pdf&quot;;
            Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
            Response.OutputStream.Flush();
            Response.OutputStream.Close();
        }

        protected void WritePdf(string html, string destination)
        {
            MemoryStream ms = CreatePdf(html);

            FileStream fs = File.OpenWrite(destination);
            fs.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
            fs.Close();
            ms.Close();
        }

        public static MemoryStream CreatePdf(string html)
        {
            MemoryStream m = new MemoryStream();

            try
            {
                Document document = new Document(PageSize.LETTER);
                PdfWriter.GetInstance(document, m);

                StringReader sr = new StringReader(html);
                XmlTextReader xtr = new XmlTextReader(sr);

                document.Open();

                HtmlParser.Parse(document, xtr);

                xtr.Close();
                document.Close();
            }
            catch (Exception ex)
            {
                System.Diagnostics.EventLog.WriteEntry(&quot;Application&quot;, ex.Message);
                throw ex;
            }

            return m;
        }

    }
}
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=35&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2009/06/15/dynamic-itextsharp-pdf-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>Taking an ASP.Net Application Offline with an Outage Message</title>
		<link>http://robrobertson.net/2009/03/30/taking-an-aspnet-offline-with-an-outage-message/</link>
		<comments>http://robrobertson.net/2009/03/30/taking-an-aspnet-offline-with-an-outage-message/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 15:48:37 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.net/?p=33</guid>
		<description><![CDATA[App_offline.htm is an easy, but not widely published, method to take your favorite ASP.Net Web Application offline and present a friendly outage message to your users.  Simply create an outage message with your downtime info formatted in clear, readable html.  Copy the file to the root of your website, and any requests will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=33&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://msdn.microsoft.com/en-us/library/f735abw9(VS.85).aspx">App_offline.htm</a> is an easy, but not widely published, method to take your favorite ASP.Net Web Application offline and present a friendly outage message to your users.  Simply create an outage message with your downtime info formatted in clear, readable html.  Copy the file to the root of your website, and any requests will be redirected to this file.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=33&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2009/03/30/taking-an-aspnet-offline-with-an-outage-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>iTextSharp &#8211; 401 Error when parsing images!</title>
		<link>http://robrobertson.net/2008/11/06/itextsharp-401/</link>
		<comments>http://robrobertson.net/2008/11/06/itextsharp-401/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 22:35:17 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=29</guid>
		<description><![CDATA[When using the html parser to convert a web page into PDF and also using an image tag to an IIS server that has Integrated Authentication enabled, you will receive: The remote server returned an error: (401) Unauthorized.  
The easy solution is to find the GetImage(Uri url) method and add the default credentials to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=29&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When using the html parser to convert a web page into PDF and also using an image tag to an IIS server that has Integrated Authentication enabled, you will receive: <strong>The remote server returned an error: (401) Unauthorized</strong>.  </p>
<p>The easy solution is to find the GetImage(Uri url) method and add the default credentials to the WebRequest after it is created.  These can be found in the itextsharp.txt.pdf.codec namespace in the following classes: BmpImage, GifImage, and PngImage.</p>
<blockquote><p>
                WebRequest wr = WebRequest.Create(url);<br />
                wr.Credentials = CredentialCache.DefaultCredentials;<br />
                isp = wr.GetResponse().GetResponseStream();
</p></blockquote>
<p>Since iTextSharp is Open Source, it was easy to download the code, isolate the error, and quickly add a line of code for the authentication.  Now, it&#8217;s time to submit the change to the <a href="https://sourceforge.net/projects/itextsharp/">iTextSharp</a> project on <a href="https://sourceforge.net">SourceForge</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=29&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/11/06/itextsharp-401/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>iTextSharp + NewPage -&gt; &#8220;The document has no pages&#8221;</title>
		<link>http://robrobertson.net/2008/10/28/itextsharp-newpage-pagebreak/</link>
		<comments>http://robrobertson.net/2008/10/28/itextsharp-newpage-pagebreak/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 21:37:38 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=27</guid>
		<description><![CDATA[The constructor for an iTextSharp Pdf document doesn&#8217;t require the page size to be initialized and it does not default to a lovely letter sized page, therefore, attempting to add a new page to the document may result in an exception of &#8220;The document has no pages.&#8221;
When creating a document, always specify the page size such as:  
Document [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=27&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The constructor for an iTextSharp Pdf document doesn&#8217;t require the page size to be initialized and it does not default to a lovely letter sized page, therefore, attempting to add a new page to the document may result in an exception of &#8220;The document has no pages.&#8221;</p>
<p>When creating a document, always specify the page size such as:  <span style="font-size:x-small;color:#2b91af;"></p>
<blockquote><p><span style="font-size:x-small;color:#2b91af;"><font size="2" color="#2b91af">Document</font></span><span style="font-size:x-small;"> document = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#2b91af;">Document</span><span style="font-size:x-small;">(</span><span style="font-size:x-small;color:#2b91af;">PageSize</span><span style="font-size:x-small;">.LETTER);</span></p></blockquote>
<p><font size="2" color="#2b91af"> </font></span><br />
<span style="font-size:x-small;">Using the HTML parser to generate a pagebreak in the Pdf file requires the simple tag:</span></p>
<p><span style="font-size:x-small;color:#008000;"></p>
<blockquote><p>&lt;newpage /&gt;</p></blockquote>
<p></span></p>
<p><span style="font-size:x-small;">Unfortunately, the HTML pagebreak,  &lt;p style=&#8221;page-break-before: always&#8221; /&gt;, isn&#8217;t supported, but it should be fairly easy to add this functionality to the parser if needed.</span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=27&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/10/28/itextsharp-newpage-pagebreak/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>MS SQL Insert Statement Generator</title>
		<link>http://robrobertson.net/2008/09/04/ms-sql-insert-statement-generator/</link>
		<comments>http://robrobertson.net/2008/09/04/ms-sql-insert-statement-generator/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 17:23:29 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=24</guid>
		<description><![CDATA[Narayana Vyas Kondreddi has created a wonderful stored procedure for MS SQL Server that will easily, quickly, and accurately create your SQL insert scripts for your next migration. He has two versions (SQL 2000 and 2005) of the sp_generate_inserts stored procedure along with a host of other neat T-SQL code scripts.
     [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=24&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://vyaskn.tripod.com/index.htm">Narayana Vyas Kondreddi</a> has created a wonderful stored procedure for MS SQL Server that will easily, quickly, and accurately create your SQL insert scripts for your next migration. He has two versions (SQL 2000 and 2005) of the <a href="http://vyaskn.tripod.com/code.htm#inserts">sp_generate_inserts</a> stored procedure along with a host of other neat T-SQL code <a href="http://vyaskn.tripod.com/code.htm">scripts</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=24&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/09/04/ms-sql-insert-statement-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>MSBuild and Quotation Marks &#8220;!!&#8221;</title>
		<link>http://robrobertson.net/2008/09/03/msbuild-and-quotation-marks/</link>
		<comments>http://robrobertson.net/2008/09/03/msbuild-and-quotation-marks/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 01:10:08 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=16</guid>
		<description><![CDATA[To publish a web site using Team Build, I added this task:
 &#60;Exec Command = &#8220;xcopy /s /y /e $(OutDir)_PublishedWebsites\webproject \\webserver\webdocs\website&#8220;/&#62;
This returned an annoying &#8220;Invalid Number of Parameters&#8221; error.  Since my path contained a space in it, I needed to include it in quotation marks.  In order to escape the quotes, MSDN has a handy article on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=16&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>To publish a web site using Team Build, I added this task:</p>
<p> <span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#a31515;"><span style="color:#0000ff;">&lt;</span>Exec</span><span style="font-size:x-small;color:#0000ff;"> </span><span style="font-size:x-small;color:#ff0000;">Command </span><span style="font-size:x-small;color:#0000ff;">= </span><span style="font-size:x-small;">&#8220;</span><span style="font-size:x-small;color:#0000ff;">xcopy /s /y /e $(OutDir)_PublishedWebsites\webproject <span style="font-size:x-small;color:#0000ff;"><a href="//\\webserver\webdocs\website&quot;/">\\webserver\webdocs\website</a></span></span><a href="//\\webserver\webdocs\website&quot;/"><span style="font-size:x-small;">&#8220;</span><span style="font-size:x-small;color:#0000ff;">/&gt;</span></a></span></span></p>
<div><span style="font-size:x-small;"><span style="color:#000000;">This returned an annoying &#8220;Invalid Number of Parameters&#8221; error.  Since my path contained a space in it, I needed to include it in quotation marks.  In order to escape the quotes, MSDN has a handy article on </span><a href="http://msdn.microsoft.com/en-us/library/ms228186.aspx">Escaping Special Characters in MSBuild</a><span style="color:#000000;">.  Looking up an ASCII table reveals that the quotation mark is Hex 22, so our new successful task is:</span></span></div>
<div> </div>
<div><span style="font-size:x-small;color:#0000ff;">&lt;<span style="font-size:x-small;color:#a31515;">Exec</span><span style="font-size:x-small;color:#0000ff;"> </span><span style="font-size:x-small;color:#ff0000;">Command</span><span style="font-size:x-small;color:#0000ff;">=</span><span style="font-size:x-small;color:#000000;">&#8220;</span><span style="font-size:x-small;color:#0000ff;">xcopy /s /y /e %22$(OutDir)_PublishedWebsites\webproject%22 <span style="font-size:x-small;color:#0000ff;"><a href="//webserver/webdocs/website%22/">\\webserver\webdocs\website</a></span></span><a href="//webserver/webdocs/website%22/"><span style="font-size:x-small;">&#8220;</span><span style="font-size:x-small;color:#0000ff;">/&gt;</span></a></span></div>
<div><span style="font-size:x-small;color:#0000ff;"> </span></div>
<p><span style="font-size:x-small;color:#0000ff;"> </p>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=16&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/09/03/msbuild-and-quotation-marks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>Extension Methods and Linq to SQL</title>
		<link>http://robrobertson.net/2008/08/21/extension-methods-linq-to-sql/</link>
		<comments>http://robrobertson.net/2008/08/21/extension-methods-linq-to-sql/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 20:25:12 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=13</guid>
		<description><![CDATA[Using Extension Methods with Linq to SQL is easy and handy to use!  To change the insert behavior on the Linq to SQL object without having to use a stored procedure and create a business object around the l2s object, create an Extension Method.  This example only insert users that haven&#8217;t already been added. Now, ToolUserInfo.Insert() is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=13&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Using Extension Methods with Linq to SQL is easy and handy to use!  To change the insert behavior on the Linq to SQL object without having to use a stored procedure and create a business object around the l2s object, create an Extension Method.  This example only insert users that haven&#8217;t already been added. Now, ToolUserInfo.Insert() is ready to be called.</p>
<blockquote><p>public static void Insert(this ToolUserInfo userInfo)<br />
{<br />
//Create a DB Context<br />
DataClassDataContext db = new DataClassDataContext();</p>
<p>// Get a list of existing tool users<br />
var ToolUsers =<br />
      (from u in db.R2ToolUserInfos<br />
       select u.UserId);</p>
<p>if (!ToolUsers.Contains(userInfo.UserId))<br />
{<br />
    db.ToolUserInfos.InsertOnSubmit(userInfo);<br />
    db.SubmitChanges();<br />
}<br />
}<br />
 </p></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=13&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/08/21/extension-methods-linq-to-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>ProperCase Function in .Net</title>
		<link>http://robrobertson.net/2008/08/21/propercase-function-in-net/</link>
		<comments>http://robrobertson.net/2008/08/21/propercase-function-in-net/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 17:49:13 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=11</guid>
		<description><![CDATA[There&#8217;s no need to roll your own proper case function in .Net!  The ToTitleCase Method in the TextInfo class will format your name to the customs of the current culture.  In general, only the first letter is uppercased and the remainder is lowercased.  Also, it will not format a word if all the characters are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=11&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There&#8217;s no need to roll your own proper case function in .Net!  The <a href="http://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx">ToTitleCase </a>Method in the TextInfo class will format your name to the customs of the current culture.  In general, only the first letter is uppercased and the remainder is lowercased.  Also, it will not format a word if all the characters are uppercased (to not interfere with abbreviations).  Our names were all captialized so I added ToLower, however that will cause any suffixes such as &#8220;III&#8221; to be formated as &#8220;Iii&#8221;.</p>
<div><code><span style="font-size:x-small;"><span style="font-size:x-small;"> <br />
</span></span><span style="font-size:x-small;color:#0000ff;">public</span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#0000ff;">static</span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#0000ff;">string</span><span style="font-size:x-small;"> ProperCase(</span><span style="font-size:x-small;color:#0000ff;">string</span><span style="font-size:x-small;"> input)</span></code></div>
<div><code><span style="font-size:x-small;">{</span></code></div>
<div><code><span style="font-size:x-small;color:#0000ff;">return</span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#2b91af;">Thread</span><span style="font-size:x-small;">.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());</span></code></div>
<div><code><span style="font-size:x-small;">}</span></code></div>
<p><span style="font-size:x-small;"> </p>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=11&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/08/21/propercase-function-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>Pismo File Mount Audit Package (pfmap) &#8211; Best ISO Mount!</title>
		<link>http://robrobertson.net/2008/08/18/pfmap-best-iso-mount/</link>
		<comments>http://robrobertson.net/2008/08/18/pfmap-best-iso-mount/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 16:55:33 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=8</guid>
		<description><![CDATA[While the most common search terms don&#8217;t return this software at the top of the list, this is simply the best  ISO file mounter available today (and free!).  Sorry MagicISO but, pfmap lets me right click on the ISO and  either mount it as a drive letter or (my favorite) perform a quick mount that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=8&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>While the most common search terms don&#8217;t return this software at the top of the list, this is simply the best  ISO file mounter available today (and free!).  Sorry MagicISO but, pfmap lets me right click on the ISO and  either mount it as a drive letter or (my favorite) perform a quick mount that makes the image appear as part of your current directory structure.</p>
<p>Head over to <a href="http://www.pismotechnic.com/">Pismo Techic</a>, and try out <a href="http://www.pismotechnic.com/pfm/ap/" target="_blank">pfmap</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=8&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/08/18/pfmap-best-iso-mount/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
		<item>
		<title>Reflector .Net&#8217;s Decompiler Saves The Day!</title>
		<link>http://robrobertson.net/2008/04/11/reflector/</link>
		<comments>http://robrobertson.net/2008/04/11/reflector/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 22:24:38 +0000</pubDate>
		<dc:creator>robrobertson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robrobertson.wordpress.com/?p=7</guid>
		<description><![CDATA[The upgrade from Team Foundation Server 2005 to 2008 requires that all custom Team Build Tasks be recompiled with the latest assemblies.  Unfortunately, code to these precious tasks was nowhere to be found.  Before starting to rewrite the tasks from scratch, a quick search turned up Lutz Roeder&#8217;s Reflector for .Net.  In addition to exploring [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=7&subd=robrobertson&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The upgrade from Team Foundation Server 2005 to 2008 requires that all custom Team Build Tasks be recompiled with the latest assemblies.  Unfortunately, code to these precious tasks was nowhere to be found.  Before starting to rewrite the tasks from scratch, a quick search turned up Lutz Roeder&#8217;s <a href="http://www.aisto.com/roeder/dotnet/" target="_blank">Reflector for .Net</a>.  In addition to exploring all the classes in a .Net assembly, it fully decompiles .Net assemblies!  The result is a working solution and project file complete with beautiful code.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/robrobertson.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/robrobertson.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robrobertson.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robrobertson.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robrobertson.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robrobertson.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robrobertson.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robrobertson.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robrobertson.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robrobertson.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robrobertson.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robrobertson.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robrobertson.net&blog=2383525&post=7&subd=robrobertson&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robrobertson.net/2008/04/11/reflector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2b09779b407581aa2ee681ec3a278cdd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robrobertson</media:title>
		</media:content>
	</item>
	</channel>
</rss>