<?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/"
	>

<channel>
	<title>Hobbscene.com</title>
	<atom:link href="http://hobbscene.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hobbscene.com</link>
	<description>Uncensored web development. Parental guidance suggested.</description>
	<lastBuildDate>Tue, 22 Nov 2011 00:02:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JS MVC/MVVM Frameworks</title>
		<link>http://hobbscene.com/2011/10/24/js-mvcmvvm-frameworks/</link>
		<comments>http://hobbscene.com/2011/10/24/js-mvcmvvm-frameworks/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 16:40:28 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=213</guid>
		<description><![CDATA[My recent dive into MVC has me wanting to do some client-side razzle-dazzle. I have a Tekpub subscription and Rob&#8217;s MVC3 vid shows off backbone.js. It looks interesting, but it looks a tab bit complicated and cumbersome. I have to say that the URL router stuff is awesome sauce. I decided I&#8217;d start looking around. [...]]]></description>
			<content:encoded><![CDATA[<p>My recent dive into MVC has me wanting to do some client-side razzle-dazzle. I have a <a href="http://tekpub.com/" target="_blank">Tekpub</a> subscription and Rob&#8217;s MVC3 vid shows off <a href="http://documentcloud.github.com/backbone/" target="_blank">backbone.js</a>. It looks interesting, but it looks a tab bit complicated and cumbersome. I have to say that the URL router stuff is awesome sauce.</p>
<p>I decided I&#8217;d start looking around. Last year on one of the <a href="http://hanselminutes.com" target="_blank">Hanselminutes</a> podcasts <a href="http://hanselminutes.com/243/knockout-javascript-with-steve-sanderson" target="_blank">he spoke with Steve Sanderson</a> about <a href="http://knockoutjs.com/" target="_blank">knockout.js</a>. At the time I wasn&#8217;t doing anything with MVC, so I did not think it would be of much value, but I filed it away. (<strong>NOTE:</strong> I realize now I could use knockout, backbone, whatever with Webforms, but did not realize it at the time.) I must say knockout looks pretty sweet. I watched Steve&#8217;s presentation at MIX11 and I really love the two-way binding out of the box (that was the one thing I did not care for much about backbone, though I realize there is a plugin for it).</p>
<p>While both knockout and backbone look really cool, I cannot decide which one to go with? Unfortunately there is not a jQuery-like choice here &#8211; there is not a real dominant player that everyone has decided on. So, I decided I&#8217;d check out some opinions. There is <a href="http://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js-vs" target="_blank">a great question on StackOverflow</a> (naturally) and it has lots of good info. There are some other options to consider as well:</p>
<ul>
<li><a href="http://batmanjs.org/">batman.js</a></li>
<li><a href="http://www.sproutcore.com/">Sproutcore</a></li>
<li><a href="http://blog.sproutcore.com/sproutcore-amber-a-report-by-yehuda/" target="_blank">Amber</a></li>
<li><a href="http://www.javascriptmvc.com/" target="_blank">Javascript MVC</a></li>
</ul>
<p>There is a LOT more out there then I thought. I guess I am going to have to take a little time and weigh the pros/cons of each before I go jumping in to using one &#8211; <em>not</em> my strong suit!</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/10/24/js-mvcmvvm-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conditional validation</title>
		<link>http://hobbscene.com/2011/10/22/conditional-validation/</link>
		<comments>http://hobbscene.com/2011/10/22/conditional-validation/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 19:52:48 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[client validation]]></category>
		<category><![CDATA[Custom Attributes]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=192</guid>
		<description><![CDATA[Related to my recent post about cascading drop down lists, I needed to do some conditional validation based on a drop down list selection. I found a great post on Simon Ince&#8217;s blog about conditional validation in MVC 3. He even has a new project to wrap up some of the conditional functionality that he [...]]]></description>
			<content:encoded><![CDATA[<p>Related to <a href="http://hobbscene.com/2011/10/22/asp-net-mvc-cascading-drop-down-lists/">my recent post</a> about cascading drop down lists, I needed to do some conditional validation based on a drop down list selection. I found a great post on Simon Ince&#8217;s blog about <a href="http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx" target="_blank">conditional validation in MVC 3</a>. He even has a new project to wrap up some of the conditional functionality that he blogged about, but I decided to roll my own since I would learn more going that route.</p>
<p>Using the project attached to his post, I started dissecting what he was doing. After a while, I got the client validation working, but I realized I was so focused on the client/server validation piece that I did not get my conditions correct! After a few tweaks, I finally got everything working. Here is the custom attribute:</p>
<pre class="brush: csharp; title: ; notranslate">
public class ConditionalMaximumWeightAttribute : ValidationAttribute, IClientValidatable {

    private const string ERRORMSG = &quot;Weight must not exceed {0} lbs.&quot;;

    public string DependentProperty { get; set; }
    public string DependentValue { get; set; }
    public int MaximumWeight { get; set; }

    public ConditionalMaximumWeightAttribute(string dependentProperty, string dependentValue, int maximumWeight) {
        this.DependentProperty = dependentProperty;
        this.DependentValue = dependentValue;
        this.MaximumWeight = maximumWeight;
    }

    public IEnumerable&lt;ModelClientValidationRule&gt; GetClientValidationRules(ModelMetadata metadata, ControllerContext context) {
        var rule = new ModelClientValidationRule() {
            ErrorMessage = String.Format(ERRORMSG, this.MaximumWeight),
            ValidationType = &quot;maximumweight&quot;,
        };

        string depProp = BuildDependentPropertyId(metadata, context as ViewContext);

        rule.ValidationParameters.Add(&quot;dependentproperty&quot;, depProp);
        rule.ValidationParameters.Add(&quot;dependentvalue&quot;, this.DependentValue);
        rule.ValidationParameters.Add(&quot;weightvalue&quot;, this.MaximumWeight);

        yield return rule;
    }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext) {
        // get a reference to the property this validation depends upon
        var containerType = validationContext.ObjectInstance.GetType();
        var field = containerType.GetProperty(this.DependentProperty);

        if (field != null) {
            // get the value of the dependent property
            var dependentvalue = field.GetValue(validationContext.ObjectInstance, null);

            var weight = containerType.GetProperty(validationContext.DisplayName);
            int weightvalue = (int)weight.GetValue(validationContext.ObjectInstance, null);

            // compare the value against the target value
            if (dependentvalue == this.DependentValue &amp;amp;amp;&amp;amp;amp; weightvalue &amp;amp;gt; this.MaximumWeight) {
                // validation failed - return an error
                return new ValidationResult(String.Format(ERRORMSG, this.MaximumWeight));
            }
        }

        return ValidationResult.Success;
    }

    private string BuildDependentPropertyId(ModelMetadata metadata, ViewContext viewContext) {
        // build the ID of the property
        string depProp = viewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(this.DependentProperty);
        // unfortunately this will have the name of the current field appended to the beginning,
        // because the TemplateInfo's context has had this fieldname appended to it. Instead, we
        // want to get the context as though it was one level higher (i.e. outside the current property,
        // which is the containing object (our Person), and hence the same level as the dependent property.
        var thisField = metadata.PropertyName + &quot;_&quot;;
        if (depProp.StartsWith(thisField))
            // strip it off again
            depProp = depProp.Substring(thisField.Length);
        return depProp;
    }
}
</pre>
<p><a href="https://gist.github.com/1306396" target="_blank">Gist</a></p>
<p>To put this in context, I need to restrict a maximum weight allowed for a carrier. At a certain point, we may as well go with another carrier because it is cheaper. However, I don&#8217;t want to restrict the maximum weight if the carrier that has been selected <em>is</em> the cheaper carrier.</p>
<p>The attribute is used like so, where <code>PropertyName</code> is the name of the related property to check, <code>PropertyValue</code> is the conditional value of the property, and <code>MaximumWeight</code> is an integer representing the maximum weight for the conditional:</p>
<pre class="brush: csharp; title: ; notranslate">
public class ...

    [ConditionalMaximumWeight(&quot;PropertyName&quot;, &quot;PropertyValue&quot;, MaximumWeight)]
    [Required(ErrorMessage = &quot;Weight required&quot;)]
    public int? Weight { get; set; }

    ...
}
</pre>
<p>Here is the client-side implementation:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
    $.validator.addMethod(&quot;maximumweight&quot;,
        function (value, element, parameters) {
            var carrier = $(&quot;#&quot; + parameters[&quot;dependentproperty&quot;]).val();
            var carriervalue = parameters[&quot;dependentvalue&quot;].toString();
            var weightvalue = Number(parameters[&quot;weightvalue&quot;]);
            if (carrier == carriervalue &amp;&amp; value &gt; weightvalue) {
                return false;
            }
            return true;
        }
    );

    $.validator.unobtrusive.adapters.add(
    &quot;maximumweight&quot;,
    [&quot;weightvalue&quot;, &quot;dependentproperty&quot;, &quot;dependentvalue&quot;],
    function (options) {
        options.rules[&quot;maximumweight&quot;] = {
            weightvalue: options.params[&quot;weightvalue&quot;],
            dependentproperty: options.params[&quot;dependentproperty&quot;],
            dependentvalue: options.params[&quot;dependentvalue&quot;]
        };
        options.messages[&quot;maximumweight&quot;] = options.message;
    });
&lt;/script&gt;
</pre>
<p><a href="https://gist.github.com/1306413" target="_blank">Gist</a></p>
<p>I should probably do a little null checking in on the client-side, but I may just find that out the hard way! <img src='http://hobbscene.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/10/22/conditional-validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC Cascading drop down lists</title>
		<link>http://hobbscene.com/2011/10/22/asp-net-mvc-cascading-drop-down-lists/</link>
		<comments>http://hobbscene.com/2011/10/22/asp-net-mvc-cascading-drop-down-lists/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 10:46:50 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=176</guid>
		<description><![CDATA[Found this great post on how to create cascading drop downs in ASP.NET MVC. I created a page for looking up shipping rates by carrier, weight and zip code. For my particular usage, I had 2 lists: Carrier and ShipMethod. I wanted the cascading list to be disabled when the initial list selection had yet [...]]]></description>
			<content:encoded><![CDATA[<p>Found <a href="http://geekswithblogs.net/ranganh/archive/2011/06/14/cascading-dropdownlist-in-asp.net-mvc-3-using-jquery.aspx" target="_blank">this great post</a> on how to create cascading drop downs in ASP.NET MVC.</p>
<p>I created a page for looking up shipping rates by carrier, weight and zip code. For my particular usage, I had 2 lists: Carrier and ShipMethod. I wanted the cascading list to be disabled when the initial list selection had yet to be made. I created functions to populate the target list as well as enable/disable the target list. I made the js into a reusable Razor helper which should allow me to use it anywhere I need this functionality.</p>
<p>Here is the helper code:</p>
<pre class="brush: csharp; title: ; notranslate">
@helper DynamicDropDowns() {
&lt;script type=&quot;text/javascript&quot;&gt;
    function listChanged($list, $target, url) {
        var listId = $list.val();
        if (listId == &quot;&quot;) { // User selected first option, so clear and disable the list
            $target.empty();
            enableList($target, false);
            return;
        }
        $.getJSON(url, { id: listId }, function (data) {
            $target.empty(); // Clear the list
            $.each(data, function (idx, item) { // Add the data
                $target.append($(&quot;&lt;option/&gt;&quot;,
                {
                    value: item.Value,
                    text: item.Text
                }));
            });
            enableList($target, true); // Enable the list
        });
    }

    function enableList($list, enabled) {
        $list.attr(&quot;disabled&quot;, enabled ? null : &quot;disabled&quot;);
    }
&lt;/script&gt;
}
</pre>
<p><a href="https://gist.github.com/1305873" target="_blank">Gist</a></p>
<p>And here it is in action:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
    $(function () {
        var $carrier = $(&quot;#Carrier&quot;);
        var $ship = $(&quot;#ShipMethod&quot;);
        enableList($ship, false);
        $carrier.change(function () {
            listChanged($(this), $ship, &quot;/Tools/GetShipMethodsByCarrier&quot;);
        });
    });
&lt;/script&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/10/22/asp-net-mvc-cascading-drop-down-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NService Bus</title>
		<link>http://hobbscene.com/2011/10/03/nservice-bus/</link>
		<comments>http://hobbscene.com/2011/10/03/nservice-bus/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 20:42:58 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[NServiceBus]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=174</guid>
		<description><![CDATA[We were looking at updating our web site to talk to an AS400 system that would need to go down regularly. Really, regardless of if our system goes down regularly or not implementing a service bus is the way to go, and this looks like the perfect tool for the job. Site link: NServiceBus]]></description>
			<content:encoded><![CDATA[<p>We were looking at updating our web site to talk to an AS400 system that would need to go down regularly. Really, regardless of if our system goes down regularly or not implementing a service bus is the way to go, and this looks like the perfect tool for the job.</p>
<p>Site link: <a href="http://www.nservicebus.com/" target="_blank">NServiceBus</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/10/03/nservice-bus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SignalR</title>
		<link>http://hobbscene.com/2011/10/03/signalr/</link>
		<comments>http://hobbscene.com/2011/10/03/signalr/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 20:37:08 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[SignalR]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=171</guid>
		<description><![CDATA[I first heard about SignalR on Scott Hanselman&#8217;s blog. He showed an example webchat app in 12 lines of code. It looked pretty cool, but I did not make the time to take a deeper look. I was just watching the Tekpub Full Throttle episode with Ayende and that led me to Ayande&#8217;s blog, where [...]]]></description>
			<content:encoded><![CDATA[<p>I first heard about SignalR on <a href="http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx" target="_blank">Scott Hanselman&#8217;s blog</a>. He showed an example webchat app in 12 lines of code. It looked pretty cool, but I did not make the time to take a deeper look.</p>
<p>I was just watching the <a href="http://tekpub.com/view/ft_triage_oren/1" target="_blank">Tekpub Full Throttle episode with Ayende</a> and that led me to Ayande&#8217;s blog, where I saw his post &#8220;<a href="http://ayende.com/blog/95233/how-signalr-killed-ravenmq">How SignalR killed RavenMQ</a>.&#8221;</p>
<p>So, here is my link to the Github project. My personal reminder to make the time to check out SignalR.</p>
<p>Project Github link: <a href="https://github.com/SignalR/SignalR" target="_blank">SignalR</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/10/03/signalr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to copy items from one DropDownList to another</title>
		<link>http://hobbscene.com/2011/09/20/how-to-copy-items-from-one-dropdownlist-to-another/</link>
		<comments>http://hobbscene.com/2011/09/20/how-to-copy-items-from-one-dropdownlist-to-another/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 02:55:19 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Controls]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=161</guid>
		<description><![CDATA[Thank you, StackOverflow.]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">
drpTypesCreateEdit.Items.AddRange(drpTypes.Items.OfType&lt;ListItem&gt;().ToArray());
</pre>
<p>Thank you, <a href="http://stackoverflow.com/questions/2667846/how-to-copy-items-from-one-dropdownlist-to-another">StackOverflow</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/09/20/how-to-copy-items-from-one-dropdownlist-to-another/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 Gradient Buttons</title>
		<link>http://hobbscene.com/2011/06/12/css3-gradient-buttons/</link>
		<comments>http://hobbscene.com/2011/06/12/css3-gradient-buttons/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 19:32:30 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CCNET]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=159</guid>
		<description><![CDATA[I was doing some style updates for our CCNET server after switching to the liquidBlue theme (why is that not the default theme?) and I wanted some nicer buttons. I did a quick search and found this great article. It provides a bunch of color templates, though none of them seemed to quite match the [...]]]></description>
			<content:encoded><![CDATA[<p>I was doing some style updates for our CCNET server after switching to the liquidBlue theme (why is that not the default theme?) and I wanted some nicer buttons. I did a quick search and found <a href="http://webdesignerwall.com/tutorials/css3-gradient-buttons">this great article</a>. It provides a bunch of color templates, though none of them seemed to quite match the color palette so I just opted to forgo the gradient in the button. Maybe when I have some more time I&#8217;ll take a crack at figuring out the colors for the gradients.</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/06/12/css3-gradient-buttons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using PHP objects from C# in a type-safe way</title>
		<link>http://hobbscene.com/2011/06/08/using-php-objects-from-c-in-a-type-safe-way/</link>
		<comments>http://hobbscene.com/2011/06/08/using-php-objects-from-c-in-a-type-safe-way/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 21:35:13 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=156</guid>
		<description><![CDATA[I don&#8217;t do much (if anything) in PHP, but I ran across this article as a StackOverflow answer. It illustrates how you can use PHP classes/objects in C#. Pretty good to know if there is something cool in PHP that I could possibly use it in C#.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t do much (if anything) in PHP, but I ran across <a href="http://tomasp.net/blog/ducktyping-in-phalaner.aspx">this article</a> as a StackOverflow answer. It illustrates how you can use PHP classes/objects in C#. Pretty good to know if there is something cool in PHP that I could possibly use it in C#.</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/06/08/using-php-objects-from-c-in-a-type-safe-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editing a variable length list, ASP.NET MVC 2-style</title>
		<link>http://hobbscene.com/2011/06/07/editing-a-variable-length-list-asp-net-mvc-2-style/</link>
		<comments>http://hobbscene.com/2011/06/07/editing-a-variable-length-list-asp-net-mvc-2-style/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 01:52:59 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=154</guid>
		<description><![CDATA[A great link on editing a variable length list from Steve Sanderson (includes source code).]]></description>
			<content:encoded><![CDATA[<p>A great link on <a href="http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/">editing a variable length list</a> from Steve Sanderson (includes source code).</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/06/07/editing-a-variable-length-list-asp-net-mvc-2-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Nuget package creation</title>
		<link>http://hobbscene.com/2011/05/20/automated-nuget-package-creation/</link>
		<comments>http://hobbscene.com/2011/05/20/automated-nuget-package-creation/#comments</comments>
		<pubDate>Fri, 20 May 2011 20:25:42 +0000</pubDate>
		<dc:creator>Tim Hobbs</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[MSBuild]]></category>
		<category><![CDATA[NuGet]]></category>

		<guid isPermaLink="false">http://hobbscene.com/?p=149</guid>
		<description><![CDATA[We have some core libraries that a lot of other libraries depend on. While these change very infrequently, they were written a while ago and some refactoring is in order. The problem is I don&#8217;t want to have to doa lot of manual updating. I thought I&#8217;d look into automating Nuget packages. The article has [...]]]></description>
			<content:encoded><![CDATA[<p>We have some core libraries that a lot of other libraries depend on. While these change very infrequently, they were written a while ago and some refactoring is in order. The problem is I don&#8217;t want to have to doa lot of manual updating. I thought I&#8217;d look into <a href="http://www.jeremyskinner.co.uk/2011/01/12/automating-nuget-package-creation-with-msbuild-and-powershell/">automating Nuget packages</a>.</p>
<p>The article has sample scripts which I&#8217;ll be able to adapt and setup to generate Nuget packages on build. I can then copy the packages to a local Nuget server ad then I&#8217;ll be able to set up the other libraries to use Nuget so they can easily get any future updates!</p>
]]></content:encoded>
			<wfw:commentRss>http://hobbscene.com/2011/05/20/automated-nuget-package-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

