<?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>Annoyed.ca &#187; ASP.Net MVC</title>
	<atom:link href="http://annoyed.ca/category/technology/net/aspnet/aspnet-mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://annoyed.ca</link>
	<description>Life - Technology</description>
	<lastBuildDate>Mon, 30 Jan 2012 20:57:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Inner Workings of *.vbproj Files: &lt;ProjectTypeGuids&gt;</title>
		<link>http://annoyed.ca/2008/12/23/the-inner-workings-of-vbproj-files-projecttypeguids/</link>
		<comments>http://annoyed.ca/2008/12/23/the-inner-workings-of-vbproj-files-projecttypeguids/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 02:58:26 +0000</pubDate>
		<dc:creator>Christopher Hyne</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[S#arp Architecture]]></category>
		<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://annoyed.ca/2008/12/26/the-inner-workings-of-vbproj-files-projecttypeguids/</guid>
		<description><![CDATA[During the conversion of the S#arp Architecture template project from C# to VB.Net I inadvertently broke (at least) one thing: the ability to add ASP.Net MVC items directly to the SharpArch.Web project directly from the &#8220;Add New Items&#8230;&#8221; dialog. This &#8230; <a href="http://annoyed.ca/2008/12/23/the-inner-workings-of-vbproj-files-projecttypeguids/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>During the conversion of the S#arp Architecture template project from C# to VB.Net I inadvertently broke (at least) one thing: the ability to add ASP.Net MVC items directly to the SharpArch.Web project directly from the &#8220;Add New Items&#8230;&#8221; dialog. This led to <a href="http://stackoverflow.com/questions/386548/how-to-enable-aspnet-mvc-item-templates-for-sarp-architecture-project" target="_blank">my first question asked on StackOverflow.com</a> (which I ended up answering myself, 38 minutes later).</p>
<p>Turns out Visual Studio project files can have an element called &lt;ProjectTypeGuids&gt; which contains one or more guids identifying what type of project the file describes. ASP.Net MVC projects have a particular guid specified: <strong>{603c0e0b-db56-11dc-be95-000d561079b0}</strong>.</p>
<p>So I added this guid to both my SharpArch.Web project file and my SharpArch.Controllers project file, and now I can add new MVC template items directly from the &#8220;Add New Item&#8230;&#8221; dialog. Cool!</p>
]]></content:encoded>
			<wfw:commentRss>http://annoyed.ca/2008/12/23/the-inner-workings-of-vbproj-files-projecttypeguids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>S#arp Architecture</title>
		<link>http://annoyed.ca/2008/12/19/sarp-architecture/</link>
		<comments>http://annoyed.ca/2008/12/19/sarp-architecture/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 03:57:18 +0000</pubDate>
		<dc:creator>Christopher Hyne</dc:creator>
				<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Fluent NHibernate]]></category>
		<category><![CDATA[NUnit]]></category>
		<category><![CDATA[Rhino Mocks]]></category>
		<category><![CDATA[S#arp Architecture]]></category>
		<category><![CDATA[VB.Net]]></category>

		<guid isPermaLink="false">http://annoyed.ca/2008/12/19/sarp-architecture/</guid>
		<description><![CDATA[I&#8217;ve been poking around in the latest release of the S#arp Architecture over the last couple days. I like what I see. Pronounced &#8220;Sharp Architecture,&#8221; this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET &#8230; <a href="http://annoyed.ca/2008/12/19/sarp-architecture/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been poking around in the latest release of the <a href="http://code.google.com/p/sharp-architecture/" target="_blank">S#arp Architecture</a> over the last couple days. I like what I see.</p>
<blockquote><p>Pronounced &#8220;Sharp Architecture,&#8221; this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework with NHibernate.</p>
</blockquote>
<p>This evening I took about an hour and converted the basic starter solution template from C# to VB.Net. Why? Well, for the following reasons:</p>
<ol>
<li>While I can work with C# well enough, I&#8217;m much more familiar with VB.Net, which I am required to use at my 9 to 5 job. I tend to stick with VB.Net even for my personal projects for simplicity. Anything I learn on my own I can easily apply at work.</li>
<li>It gave me an opportunity to confirm that I understand (at least at a high level) what the S#arp Architecture is doing.</li>
</ol>
<p>The conversion was straight forward. Pretty well every line of C# had a corresponding line in VB.Net. The only thing I had to add was an Imports tag in the markup of the Site.Master page in order to get the ActionLink and Image extension methods to resolve. I had already tried adding an imports to the code-behind with no luck. Not sure why that was necessary, but it worked.</p>
<p>The architecture is pretty neat. Here&#8217;s a few things I&#8217;ve noted already:</p>
<ul>
<li>The Models, Views and Controllers (I.e. the M, V and C in MVC) are each in their own projects.</li>
<li>The Repository/IRepository pattern is used, with the Interfaces defined in the same project as the Models, and the Repository implementation(s) in a separate project.</li>
<li>Includes support for NUnit, Castle Windsor, (Fluent) NHibernate, and Rhino Mocks</li>
<li>The ASP.Net MVC routes are defined in the Controllers project, not in the Global.asax of the Web/Views project. Excellent separation of concerns!</li>
</ul>
<p>I&#8217;m going to go ahead and trying putting together an actual application based on S#arp Architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://annoyed.ca/2008/12/19/sarp-architecture/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

