<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rick&#039;s Ramblings</title>
	<atom:link href="https://rickrat.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://rickrat.wordpress.com</link>
	<description>Random thoughts on .NET, programming, life, and more...</description>
	<lastBuildDate>Sun, 10 Jul 2011 21:48:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rickrat.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>Rick&#039;s Ramblings</title>
		<link>https://rickrat.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://rickrat.wordpress.com/osd.xml" title="Rick&#039;s Ramblings" />
	<atom:link rel='hub' href='https://rickrat.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Pivot Video, now with NDC 2011 conference videos.</title>
		<link>https://rickrat.wordpress.com/2011/07/10/pivot-video-now-with-ndc-2011-conference-videos/</link>
					<comments>https://rickrat.wordpress.com/2011/07/10/pivot-video-now-with-ndc-2011-conference-videos/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Sun, 10 Jul 2011 21:48:06 +0000</pubDate>
				<category><![CDATA[Pivot Video]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/07/10/pivot-video-now-with-ndc-2011-conference-videos/</guid>

					<description><![CDATA[I’ve updated my Pivot Video code to include NDC 2011 Videos, plus a couple of bug fixes! It includes the WMV streams for NDC 2011. One of the things I’ve done is separate the xml by conference as well as an “all” xml file (DiscConf.xml). This way you can load just your favorite conference or [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I’ve updated my <a href="https://rickrat.wordpress.com/2011/01/25/pivot-video/">Pivot Video code</a> to include NDC 2011 Videos, plus a couple of bug fixes! </p>
<p>It includes the WMV streams for NDC 2011.</p>
<p>One of the things I’ve done is separate the xml by conference as well as an “all” xml file (<strong>DiscConf.xml</strong>). This way you can load just your favorite conference or all of them.</p>
<p><a href="http://www.compdj.com/dl.aspx?f=PivotVideo.zip" rel="nofollow" target="_blank">Download Pivot Video</a> now.</p>
<p><a href="http://www.compdj.com/dl.aspx?f=Conferences.zip" rel="nofollow" target="_blank">Download all conference XML files</a> now.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/07/10/pivot-video-now-with-ndc-2011-conference-videos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>
	</item>
		<item>
		<title>Pivot Video, now with TechEd 11 goodness!</title>
		<link>https://rickrat.wordpress.com/2011/05/29/pivot-video-now-with-teched-11-goodness/</link>
					<comments>https://rickrat.wordpress.com/2011/05/29/pivot-video-now-with-teched-11-goodness/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Mon, 30 May 2011 01:59:43 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/05/29/pivot-video-now-with-teched-11-goodness/</guid>

					<description><![CDATA[I’ve updated my Pivot Video code to include TechEd 11 Videos, plus a couple of bug fixes! It includes the WMV High streams for TechEd11. Download Pivot Video now.]]></description>
										<content:encoded><![CDATA[<p>I’ve updated my <a href="https://rickrat.wordpress.com/2011/01/25/pivot-video/">Pivot Video code</a> to include TechEd 11 Videos, plus a couple of bug fixes! </p>
<p>It includes the WMV High streams for TechEd11.</p>
<p><a href="http://www.compdj.com/dl.aspx?f=PivotVideo.zip" rel="nofollow" target="_blank">Download Pivot Video</a> now.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/05/29/pivot-video-now-with-teched-11-goodness/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>
	</item>
		<item>
		<title>MVVMT4 v1.1 released</title>
		<link>https://rickrat.wordpress.com/2011/05/29/mvvmt4-v1-1-released/</link>
					<comments>https://rickrat.wordpress.com/2011/05/29/mvvmt4-v1-1-released/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Mon, 30 May 2011 01:51:50 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xaml]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/05/29/mvvmt4-v1-1-released/</guid>

					<description><![CDATA[I’ve released version 1.1 of my open source project MVVMT4 today. It uses T4 Templates for generating view models, and views for WPF, Silverlight, Windows Phone using T4 Toolbox and MVVM Light On Nuget! Type in &#34;Install-Package MVVMT4&#34; Now in version 1.1: Conforms to StyleCop rules, and optional Unity DI container for ViewModels. http://mvvmt4.codeplex.com/]]></description>
										<content:encoded><![CDATA[<p><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;float:left;border-top:0;border-right:0;padding-top:0;" title="MVVMT4_200x200" border="0" alt="MVVMT4_200x200" align="left" src="https://rickrat.wordpress.com/wp-content/uploads/2011/05/mvvmt4_200x200.png?w=200&#038;h=200" width="200" height="200" />I’ve released version 1.1 of my open source project MVVMT4 today. </p>
<p>It uses T4 Templates for generating view models, and views for WPF, Silverlight, Windows Phone using T4 Toolbox and MVVM Light</p>
<h4>On Nuget! Type in <font>&quot;Install-Package MVVMT4&quot;</font></h4>
<p>Now in version 1.1: Conforms to StyleCop rules, and optional Unity DI container for ViewModels.</p>
<p><a href="http://mvvmt4.codeplex.com/" rel="nofollow" target="_blank">http://mvvmt4.codeplex.com/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/05/29/mvvmt4-v1-1-released/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/05/mvvmt4_200x200.png" medium="image">
			<media:title type="html">MVVMT4_200x200</media:title>
		</media:content>
	</item>
		<item>
		<title>Pivot Video, now with Mix 11 goodness!</title>
		<link>https://rickrat.wordpress.com/2011/04/20/pivot-video-now-with-mix-11-goodness/</link>
					<comments>https://rickrat.wordpress.com/2011/04/20/pivot-video-now-with-mix-11-goodness/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Thu, 21 Apr 2011 04:13:35 +0000</pubDate>
				<category><![CDATA[Pivot Video]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/04/20/pivot-video-now-with-mix-11-goodness/</guid>

					<description><![CDATA[I’ve updated my Pivot Video code to include Mix 11 Videos, plus a couple of bug fixes! It includes the WMV High streams for Mix 11. Download Pivot Video now.]]></description>
										<content:encoded><![CDATA[<p>I’ve updated my <a href="https://rickrat.wordpress.com/2011/01/25/pivot-video/">Pivot Video code</a> to include Mix 11 Videos, plus a couple of bug fixes! </p>
<p>It includes the WMV High streams for Mix 11.</p>
<p><a href="http://www.compdj.com/dl.aspx?f=PivotVideo.zip" rel="nofollow" target="_blank">Download Pivot Video</a> now.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/04/20/pivot-video-now-with-mix-11-goodness/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>
	</item>
		<item>
		<title>Reference paths in visual studio</title>
		<link>https://rickrat.wordpress.com/2011/03/14/reference-paths-in-visual-studio/</link>
					<comments>https://rickrat.wordpress.com/2011/03/14/reference-paths-in-visual-studio/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Tue, 15 Mar 2011 04:20:13 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[TFS]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/03/14/reference-paths-in-visual-studio/</guid>

					<description><![CDATA[When you add a reference to a .dll in Visual Studio, there are a couple schools of thought. One way is putting a lib folder inside the project. Another method is to used a share to store references. e.g. \\computer\share\References\MVVMLight\ Someone mentioned to me today that they got out-voted by other people who were voting [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>When you add a reference to a .dll in Visual Studio, there are a couple schools of thought.</p>
<p>One way is putting a lib folder inside the project.</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/03/ref.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="ref" border="0" alt="ref" src="https://rickrat.wordpress.com/wp-content/uploads/2011/03/ref_thumb.jpg?w=271&#038;h=164" width="271" height="164" /></a></p>
<p>Another method is to used a share to store references. e.g.</p>
<p><strong>\\computer\share\References\MVVMLight\</strong></p>
<p>Someone mentioned to me today that they got out-voted by other people who were voting for the share reference method.</p>
<p>There are a couple of reasons this approach is bad:</p>
<ol>
<li>If the files are moved or deleted, it will break the build for every existing app.</li>
<li>If the share is unshared, or there is network issues, the build will fail.</li>
</ol>
<p><font color="#777777">If you go with the <strong>Project\lib</strong> folder in the project approach, it has none of those drawbacks. You can still store the references on a shared drive, but copy them to the <strong>Project\lib</strong> folder. This will not have the any of the cons of the shared UNC path approach. Plus, the <strong>Project\lib</strong> approach is more accepted among development teams.</font></p>
<p><font color="#777777">This is just my opinion… Thoughts?</font></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/03/14/reference-paths-in-visual-studio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/03/ref_thumb.jpg" medium="image">
			<media:title type="html">ref</media:title>
		</media:content>
	</item>
		<item>
		<title>Pivot Video</title>
		<link>https://rickrat.wordpress.com/2011/01/25/pivot-video/</link>
					<comments>https://rickrat.wordpress.com/2011/01/25/pivot-video/#comments</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Tue, 25 Jan 2011 08:52:56 +0000</pubDate>
				<category><![CDATA[Pivot Video]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/01/25/pivot-video/</guid>

					<description><![CDATA[Sometimes you just want to watch a programming conference session video, but they are all over the place. PDC 09, PDC 10, Mix 10, three difference sites / urls. I wrote a little WPF program that allows you to select videos based on multiple criteria similar to the PivotViewer ™ control. You can select by [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Sometimes you just want to watch a programming conference session video, but they are all over the place. PDC 09, PDC 10, Mix 10, three difference sites / urls. I wrote a little WPF program that allows you to select videos based on multiple criteria similar to the PivotViewer <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> control.</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen01.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="screen01" border="0" alt="screen01" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen01_thumb.jpg?w=575" /></a></p>
<p>You can select by presenter, conference, tags, or even search. You can play the results in a playlist, shuffled or not, and even save the playlist for later.</p>
<p>Pivot Video will show you a tooltip with more information when you mouse-over a session. It’s also optimized for touch screens and touch scrolling.</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen02.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="screen02" border="0" alt="screen02" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen02_thumb.jpg?w=575" /></a></p>
<p>It currently has conference videos from:</p>
<ul>
<li><font color="#555555">Mix 2010</font> </li>
<li><font color="#555555">NDC 2010</font> </li>
<li><font color="#555555">PDC 2009</font> </li>
<li><font color="#555555">PDC 2010</font> </li>
<li><font color="#555555">Tech Ed 2010</font> </li>
<li><font color="#555555">Tech Ed AU 2010</font> </li>
<li>Mix 2011</li>
</ul>
<p><a href="http://www.compdj.com/dl.aspx?f=PivotVideo.zip" rel="nofollow" target="_blank">Download Pivot Video</a></p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frickrat.wordpress.com%2f2011%2f01%2f25%2fpivot-video%2f"><img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url%3Dhttp%253a%252f%252frickrat.wordpress.com%252f2011%252f01%252f25%252fpivot-video%252f%26bgcolor%3D0066CC" /></a></p>
<p><a href="http://dotnetshoutout.com/Pivot-Video-Ricks-Ramblings" rev="vote-for"><img style="border-width:0;" alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Frickrat.wordpress.com%2F2011%2F01%2F25%2Fpivot-video%2F" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/01/25/pivot-video/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen01_thumb.jpg" medium="image">
			<media:title type="html">screen01</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/screen02_thumb.jpg" medium="image">
			<media:title type="html">screen02</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url%3Dhttp%253a%252f%252frickrat.wordpress.com%252f2011%252f01%252f25%252fpivot-video%252f%26bgcolor%3D0066CC" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>

		<media:content url="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Frickrat.wordpress.com%2F2011%2F01%2F25%2Fpivot-video%2F" medium="image">
			<media:title type="html">Shout it</media:title>
		</media:content>
	</item>
		<item>
		<title>Using MEF to link view model locator and load assembly UIs dynamically</title>
		<link>https://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically/</link>
					<comments>https://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically/#comments</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Mon, 24 Jan 2011 09:08:41 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xaml]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically/</guid>

					<description><![CDATA[UPDATE 01/28/2011: I cleaned up the T4 templates and made it prettier. Re-download the source code! So I decided I wanted to create a WPF navigation application. I was definitely inspired by Billy Hollis’ StaffLynx application. The application has to have the following requirements: ViewModelLocator must be dynamic, and the parts satisfied by MEF, including [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3><strong><font size="5">UPDATE 01/28/2011: I cleaned up the T4 templates and made it prettier. Re-download the source code!</font></strong></h3>
<p>So I decided I wanted to create a WPF navigation application. I was definitely inspired by <a href="http://www.dnrtv.com/default.aspx?showNum=115" rel="nofollow">Billy Hollis’ StaffLynx</a> application.</p>
<p>The application has to have the following requirements:</p>
<ol>
<li><font color="#555555">ViewModelLocator must be dynamic, and the parts satisfied by MEF, including UI Extensions.</font> </li>
<li><font color="#555555">UI pages in separate assemblies will load based on pack Uri syntax.</font> </li>
<li><font color="#555555">UI extension dlls cannot know about the main app, and vice-versa.</font> e.g. No direct references. </li>
<li><font color="#555555">UI Extensions have to be loaded from the <strong>ProgramData</strong> folder, because applications cannot write directly to the <strong>Program Files</strong> folder.</font> </li>
<li>Must use my favorite MVVM Framework <a href="http://mvvmlight.codeplex.com/" rel="nofollow">MVVM Light</a>. Although you could customize this for any MVVM framework. </li>
<li>Must work in Expression Blend. </li>
</ol>
<p><font color="#777777"></font></p>
<h2>Layout</h2>
<p>&#160;</p>
<p>I wanted to use a frame for navigation, and have the buttons populate and navigate automatically. The buttons would show icons of the UI Extensions too.</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/layout2.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Layout2" border="0" alt="Layout2" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/layout2_thumb.jpg?w=573&#038;h=350" width="573" height="350" /></a></p>
<h2>&#160;</h2>
<h2>How this came about</h2>
<p>&#160;</p>
<p>I started out looking at Glenn Block and John Papa’s <a href="http://johnpapa.net/silverlight/simple-viewmodel-locator-for-mvvm-the-patients-have-left-the-asylum/" rel="nofollow">implementation of a dynamic view model locator</a> using MEF. But that was Silverlight, and couldn’t be ported easily, due to functional differences in the API from Silverlight to WPF.</p>
<p>But then I stumbled on Glenn Block’s <a href="http://cid-f8b2fd72406fb218.skydrive.live.com/self.aspx/blog/Composition.Initialization.Desktop.zip" rel="nofollow">WPF version</a> of the Silverlight APIs sort-of as a companion to the WPF version of MEF API. The problem with that API is it loads extensions from the <strong>Program Files</strong> folder.</p>
<p>I also wanted each extension to have their own folder. I had already written a MEF helper class that would read assemblies from the ProgramData folder, so I decided to go for it. Snippet from the Compose() method in my MEF Helper:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ea1c9c40-4c34-4a38-9f60-2c2072325213" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> Compose()<br /> {<br />     <span style="color:#2b91af;">AggregateCatalog</span> Catalog = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">AggregateCatalog</span>();</p>
<p>     <span style="color:#008000;">// Add This assembly&#039;s catalog parts</span><br />     System.Reflection.<span style="color:#2b91af;">Assembly</span> ass = System.Reflection.<span style="color:#2b91af;">Assembly</span>.GetEntryAssembly();<br />     Catalog.Catalogs.Add(<span style="color:#0000ff;">new</span> <span style="color:#2b91af;">AssemblyCatalog</span>(ass));</p>
<p>     <span style="color:#008000;">// Directory of catalog parts</span><br />     <span style="color:#0000ff;">if</span> (System.IO.<span style="color:#2b91af;">Directory</span>.Exists(ExtensionsPath))<br />     {<br />         Catalog.Catalogs.Add(<span style="color:#0000ff;">new</span> <span style="color:#2b91af;">DirectoryCatalog</span>(ExtensionsPath));<br />         <span style="color:#0000ff;">string</span>[] folders = System.IO.<span style="color:#2b91af;">Directory</span>.GetDirectories(ExtensionsPath);</p>
<p>         <span style="color:#0000ff;">foreach</span> (<span style="color:#0000ff;">string</span> folder <span style="color:#0000ff;">in</span> folders)<br />         {<br />             Catalog.Catalogs.Add(<span style="color:#0000ff;">new</span> <span style="color:#2b91af;">DirectoryCatalog</span>(folder));<br />         }</p>
<p>     }</p>
<p>     _Container = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">CompositionContainer</span>(Catalog);<br /> }</div>
</p></div>
</p></div>
<p>The UI and the UI Extensions both reference the Shared Contracts, so I had to put the view model locator in there.</p>
<p>I then found a semi-usable solution in the article <a href="http://www.codeproject.com/KB/WPF/blendable_locator.aspx" rel="nofollow">Blendable MVVM ViewModelLocator using MEF</a>. So I “stole” the View Model Locator from there, with some modifications, and porting it to VB.NET as well.</p>
<p>&#160;</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/assdep1.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="AssDep1" border="0" alt="AssDep1" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/assdep1_thumb.jpg?w=640&#038;h=288" width="640" height="288" /></a></p>
<p>This version of the View Model Locator does not share much similarity to the John Papa version, because it uses the .NET 4.0 <a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx" rel="nofollow">DynamicObject</a>. This was the magic to bind the data context to the view. Basically, if you inherit DynamicObject, you can override the TryGetMember method, and resolve a property that doesn’t really exist.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:825fa8e9-6258-4f1c-b666-0299e2341a7b" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">override</span> <span style="color:#0000ff;">bool</span> TryGetMember(<span style="color:#2b91af;">GetMemberBinder</span> binder, <span style="color:#0000ff;">out</span> <span style="color:#0000ff;">object</span> result)<br /> {<br />     <span style="color:#0000ff;">string</span> name = binder.Name;<br />     <span style="color:#0000ff;">if</span> (!dictionary.TryGetValue(name, <span style="color:#0000ff;">out</span> result))<br />         <span style="color:#0000ff;">try</span><br />         {<br />             <span style="color:#0000ff;">if</span> (ViewModels == <span style="color:#0000ff;">null</span>)<br />             {<br />                 <span style="color:#2b91af;">MefHelper</span>.Instance.Compose();<br />                 <span style="color:#2b91af;">MefHelper</span>.Instance.Container.ComposeParts(<span style="color:#0000ff;">this</span>);<br />             }</p>
<p>             dictionary[binder.Name] = (result = ViewModels.Single(v =&gt; v.Metadata.Name.Equals(name)).Value);<br />             <span style="color:#0000ff;">return</span> result != <span style="color:#0000ff;">null</span>;<br />         }<br />         <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)<br />         {<br />             <span style="color:#2b91af;">Console</span>.WriteLine(ex);<br />         }<br />     <span style="color:#0000ff;">return</span> <span style="color:#0000ff;">true</span>;<br /> }</div>
</p></div>
</p></div>
<p>The app turned out like this:</p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/mefshot1.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="MefShot" border="0" alt="MefShot" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/mefshot_thumb1.jpg?w=639&#038;h=392" width="639" height="392" /></a></p>
<p>I know, I know, the UI is not pretty, and it’s not meant to be. It’s a beginning for you to start with. The buttons at the bottom are loaded dynamically using an ItemsControl and MEF. When you click on a button, it fires the NavigationCommand, to navigate to the Uri of the UI Extension. I created interfaces for UI Extensions:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:80e1ba1b-00f5-4d13-aff5-73d64e0b2bc2" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">interface</span> <span style="color:#2b91af;">IUIExtension</span><br /> {</p>
<p> }</p>
<p> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">interface</span> <span style="color:#2b91af;">IUIExtensionDetails</span><br /> {</p>
<p>     <span style="color:#0000ff;">string</span> Category { <span style="color:#0000ff;">get</span>; }<br />     <span style="color:#0000ff;">string</span> IconUri { <span style="color:#0000ff;">get</span>; }<br />     <span style="color:#0000ff;">string</span> Name { <span style="color:#0000ff;">get</span>; }<br />     <span style="color:#0000ff;">string</span> Uri { <span style="color:#0000ff;">get</span>; }</p>
<p>     <span style="color:#0000ff;">int</span> SortOrder { <span style="color:#0000ff;">get</span>; }<br /> }</div>
</p></div>
</p></div>
<p>And then I created a custom attribute that exports the classes via MEF:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:fd6d9ebf-aff7-4aaa-80f5-ba723ab55af7" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:400px;overflow:auto;padding:2px 5px;">[<span style="color:#2b91af;">MetadataAttribute</span>()]<br /> [<span style="color:#2b91af;">AttributeUsage</span>(<span style="color:#2b91af;">AttributeTargets</span>.Class, AllowMultiple = <span style="color:#0000ff;">false</span>)]<br /> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> <span style="color:#2b91af;">UiExtensionAttribute</span> : <span style="color:#2b91af;">ExportAttribute</span><br /> {</p>
<p>     <span style="color:#0000ff;">public</span> UiExtensionAttribute()<br />         : <span style="color:#0000ff;">base</span>(<span style="color:#0000ff;">typeof</span>(<span style="color:#2b91af;">IUIExtension</span>))<br />     {<br />     }</p>
<p>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Category { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }<br />     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> IconUri { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }<br />     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Name { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }<br />     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">int</span> SortOrder { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }<br />     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Uri { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }<br /> }</div>
</p></div>
</p></div>
<p>Creating a model for that is simple:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:47add53c-7bda-428d-a8c0-a92310a873ee" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:200px;overflow:auto;padding:2px 5px;">[<span style="color:#2b91af;">UiExtension</span>(Name = <span style="color:#a31515;">&quot;Settings&quot;</span>,<br />     Uri = <span style="color:#a31515;">&quot;pack://application:,,,/MefMvvmSample;component/View/SettingsView.xaml&quot;</span>,<br />     IconUri = <span style="color:#a31515;">&quot;pack://application:,,,/MefMvvmSample;component/Resources/InternetSettings.ico&quot;</span>,<br />     Category = <span style="color:#a31515;">&quot;Settings&quot;</span>, SortOrder = 0)]<br /> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> <span style="color:#2b91af;">Settings</span> : <span style="color:#2b91af;">IUIExtension</span><br /> {<br /> }</div>
</p></div>
</p></div>
<p>In the view models, you only had to add the ExportViewModel line:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ffd5d764-9b16-408b-801e-e717f61c366d" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;">[<span style="color:#2b91af;">ExportViewModel</span>(<span style="color:#a31515;">&quot;Settings&quot;</span>, <span style="color:#0000ff;">false</span>)]<br /> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> <span style="color:#2b91af;">SettingsViewModel</span> : <span style="color:#2b91af;">ViewModelBase</span></div>
</p></div>
</p></div>
<p>Then it gets wired up automatically. The XAML is pretty much the same for binding the locator:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e770fe12-bd80-4e8a-9d2c-b96d12f6bb50" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">XAML</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#ff0000;">DataContext</span><span style="color:#0000ff;">=&quot;{</span><span style="color:#a31515;">Binding</span><span style="color:#ff0000;"> Path</span><span style="color:#0000ff;">=PageOne,</span><span style="color:#ff0000;"> Source</span><span style="color:#0000ff;">={</span><span style="color:#a31515;">StaticResource</span><span style="color:#ff0000;"> Locator}}</span><span style="color:#0000ff;">&quot;</span></div>
</p></div>
</p></div>
<h2>Notes</h2>
<p>The Shared Contracts dll has to be signed with a public key, because it will be in the extension folder as well as the normal program folder. This way, it will only load once. If it is not signed, it will attempt to load it twice.</p>
<p>The <strong>postbuild.cmd</strong> batch file copies the built UI Extension to the Extensions folder. This is the folder it is expected to be in. If you change the product name of the main UI, you have to change it here in the <strong>postbuild.cmd</strong> too.</p>
<h2>Other useful classes</h2>
<h3>&#160;</h3>
<h3>AppCommands</h3>
<p>App commands are a static class with strings for navigation, closing the window and the main window name.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:03126f6f-d814-4cd9-a2fc-c9d2a1a8dff8" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">static</span> <span style="color:#0000ff;">class</span> <span style="color:#2b91af;">AppCommands</span><br /> {</p>
<p>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">const</span> <span style="color:#0000ff;">string</span> Navigate = <span style="color:#a31515;">&quot;Navigate&quot;</span>;<br />     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">const</span> <span style="color:#0000ff;">string</span> Close = <span style="color:#a31515;">&quot;Close&quot;</span>;</p>
<p>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">const</span> <span style="color:#0000ff;">string</span> MainWindowName = <span style="color:#a31515;">&quot;MainWin&quot;</span>;<br /> }</div>
</p></div>
</p></div>
<p>&#160;</p>
<h3>SerializeWindowState</h3>
<p>This class saves and loads the windows dimensions and placement on the screen on initialization and closing.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ec945761-d404-4509-a27a-428cefb52b78" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:400px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">private</span> <span style="color:#0000ff;">void</span> MainWin_Closing(<span style="color:#0000ff;">object</span> sender, System.ComponentModel.<span style="color:#2b91af;">CancelEventArgs</span> e)<br /> {<br />     <span style="color:#2b91af;">SerializeWindowState</span>.SaveWindowState(<span style="color:#0000ff;">this</span>, MyApplication.<span style="color:#2b91af;">AppInfo</span>.Info.ProductName);<br /> }</p>
<p> <span style="color:#0000ff;">private</span> <span style="color:#0000ff;">void</span> MainWin_Initialized(<span style="color:#0000ff;">object</span> sender, System.<span style="color:#2b91af;">EventArgs</span> e)<br /> {<br />     <span style="color:#2b91af;">SerializeWindowState</span>.LoadWindowState(<span style="color:#0000ff;">this</span>, MyApplication.<span style="color:#2b91af;">AppInfo</span>.Info.ProductName);<br /> }</div>
</p></div>
</p></div>
<p>&#160;</p>
<h3>IconConverter</h3>
<p>This class was needed because I wanted to have a default icon to fall back on if the UI Extension did not specify a icon Uri.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:3ddb1089-b3f7-4f2e-a592-0b66fe205d07" class="wlWriterEditableSmartContent">
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">Code Snippet</div>
<div style="background-color:#ffffff;max-height:300px;overflow:auto;padding:2px 5px;"><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> <span style="color:#2b91af;">IconConverter</span> : <span style="color:#2b91af;">IValueConverter</span><br /> {</p>
<p>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">object</span> Convert(<span style="color:#0000ff;">object</span> value, <span style="color:#2b91af;">Type</span> targetType, <span style="color:#0000ff;">object</span> parameter, System.Globalization.<span style="color:#2b91af;">CultureInfo</span> culture)<br />     {<br />         <span style="color:#0000ff;">if</span> (value != <span style="color:#0000ff;">null</span>)<br />         {<br />             <span style="color:#0000ff;">return</span> value;<br />         }<br />         <span style="color:#0000ff;">return</span> <span style="color:#a31515;">&quot;pack://application:,,,/Resources/Document.ico&quot;</span>;<br />     }</p>
<p>     <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">object</span> ConvertBack(<span style="color:#0000ff;">object</span> value, <span style="color:#2b91af;">Type</span> targetType, <span style="color:#0000ff;">object</span> parameter, System.Globalization.<span style="color:#2b91af;">CultureInfo</span> culture)<br />     {<br />         <span style="color:#0000ff;">return</span> value;<br />     }<br /> }</div>
</p></div>
</p></div>
<p>&#160;</p>
<h2>T4 Code Templates</h2>
<p>&#160;</p>
<p>I’ve included T4 code templates that generate pages, windows, and user controls that require only a little modification. These enable you to generate the view, and view model quickly. They work with WPF, Silverlight, and Windows Phone.</p>
<p>They have the following features:</p>
<ul>
<li><font color="#555555">Navigation messages sent using the Messenger in MVVM Light.</font> </li>
<li><font color="#555555">How to close a main window from a view model or another view using close messages.</font> </li>
</ul>
<p>&#160;</p>
<h1>OK Already! Where’s the download?</h1>
<p>&#160;</p>
<p><a href="http://www.compdj.com/dl.aspx?f=MEFMVVMCS.zip" rel="nofollow">Download the C# code here</a></p>
<p><a href="http://www.compdj.com/dl.aspx?f=MEFMVVMVB.zip" rel="nofollow">Download the VB.NET code here</a></p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frickrat.wordpress.com%2f2011%2f01%2f24%2fusing-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically%2f"><img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=%3Dhttp%253a%252f%252frickrat.wordpress.com%252f2011%252f01%252f24%252fusing-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically%252f%26bgcolor%3D0066CC" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/layout2_thumb.jpg" medium="image">
			<media:title type="html">Layout2</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/assdep1_thumb.jpg" medium="image">
			<media:title type="html">AssDep1</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/mefshot_thumb1.jpg" medium="image">
			<media:title type="html">MefShot</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=%3Dhttp%253a%252f%252frickrat.wordpress.com%252f2011%252f01%252f24%252fusing-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically%252f%26bgcolor%3D0066CC" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing a virtual network from scratch for developers</title>
		<link>https://rickrat.wordpress.com/2010/09/14/installing-a-virtual-network-from-scratch-for-developers/</link>
					<comments>https://rickrat.wordpress.com/2010/09/14/installing-a-virtual-network-from-scratch-for-developers/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Wed, 15 Sep 2010 00:54:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[TFS]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2010/09/14/installing-a-virtual-network-from-scratch-for-developers/</guid>

					<description><![CDATA[I had the opportunity recently at work to install Windows Server 2008 R2 from scratch and setup several virtual machines in a network configuration, and here’s how I did it. The physical machine has 16 GB memory, and is a dell desktop machine actually! It has 4 cores, but with hyperthreading it shows 8. Being [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I had the opportunity recently at work to install Windows Server 2008 R2 from scratch and setup several virtual machines in a network configuration, and here’s how I did it. </p>
<p>The physical machine has 16 GB memory, and is a dell desktop machine actually! It has 4 cores, but with hyperthreading it shows 8. </p>
<p><a href="https://rickrat.wordpress.com/wp-content/uploads/2011/01/image1.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image[1]" border="0" alt="image[1]" src="https://rickrat.wordpress.com/wp-content/uploads/2011/01/image1_thumb.png?w=440&#038;h=379" width="440" height="379" /></a></p>
<p>Being a software engineer and all, we don’t often get the chance to set up an environment like this from scratch. This was fun, but I’m not a network engineer. </p>
<h2>Network</h2>
<p>If you only have one network connection on your physical server, make sure you bridge it with the virtual adapter too. Then set the settings on the bridge and not either adapter. </p>
<p><em>Ports</em> </p>
<p>To open ports on “Windows Advanced Firewall”, open a command window as an administrator. Issuing the following command will open port 80 on your firewall for you. </p>
<p><strong>netsh firewall set portopening TCP 80 &quot;Web&quot;</strong> </p>
<h2>TFS 2010 and SQL Server 2008 R2</h2>
<p>Installing both of them on VMs was fairly easy, and fault free, if you follow their install guidelines. Thank goodness too! because TFS 2008 took me 2-3 days… This took less than a half a day. </p>
<p>I have TFS installed and working on two ports, since 8080 is a typical router remote admin port, which is already mapped, and cannot be forwarded outside. </p>
<p>There was a couple gotchas along the way that I needed to refer to blog posts to fix. One is with SharePoint. </p>
<p>You cannot install SharePoint from the Roles. If you do, you still have to download a patch .msi and install that. </p>
<p>Also, to get to <strong>create a site</strong> in SharePoint (so TFS can use it) you have to run IE as an administrator, and then the “Create a site” link will be visible. </p>
<p>Not to mention the whole “IE Hard Admin” which locks down IE on the server. You have to constantly add the local sites into the trusted sites too. </p>
<h2>Exchange 2010</h2>
<p>This was a BEAST to install! Really! I ended up installing it twice, both times using only the GUI to install and configure it, with the updates too. </p>
<p><strong>DONT: “</strong><em>Don’t delete your user account from exchange or any other account as it deletes it from the active directory too. I hosed the whole setup that way and had to install all the virtual machines as well as install windows again on the server.</em> </p>
<p><em>Also, when you install windows, before connecting to a domain, create a user with admin rights, since joining the domain seems to not allow the administrator login to login.”</em> </p>
<p>I installed a SSL certificate for the external access, but internally it still says the cert is invalid, because it’s a local domain, and I now need a ssl cert for the internal one too. </p>
<p>I still haven’t finished the exchange correctly to get it working inside and out. I guess I’ll figure it out later… </p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2010/09/14/installing-a-virtual-network-from-scratch-for-developers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>

		<media:content url="https://rickrat.wordpress.com/wp-content/uploads/2011/01/image1_thumb.png" medium="image">
			<media:title type="html">image[1]</media:title>
		</media:content>
	</item>
		<item>
		<title>EF4 T4 Templates</title>
		<link>https://rickrat.wordpress.com/2010/07/02/ef4-t4-templates/</link>
					<comments>https://rickrat.wordpress.com/2010/07/02/ef4-t4-templates/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Sat, 03 Jul 2010 00:52:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2010/07/02/ef4-t4-templates/</guid>

					<description><![CDATA[I just started my first open-source project. EF4 Templates. Yeahhh! EF4 Templates uses T4toolbox to generate POCO self-tracking entities that can be unit tested, along with validation for WPF, Silverlight RIA services and ASP.NET/ASP.NET MVC. They also generate an ODATA service with authentication for usage with WPF. Some of the features already implemented: Self-tracking entities [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I just started my first open-source project. EF4 Templates. Yeahhh! </p>
<p>EF4 Templates uses <a href="http://t4toolbox.codeplex.com/">T4toolbox</a> to generate POCO self-tracking entities that can be unit tested, along with validation for WPF, Silverlight RIA services and ASP.NET/ASP.NET MVC. They also generate an ODATA service with authentication for usage with WPF. </p>
<p><strong>Some of the features already implemented:</strong></p>
<p>Self-tracking entities that use IContext and IObjectSet so they can be seperated from EF, and unit tested. </p>
<p>Fake object context for testing purposes. </p>
<p>OData service endpoint for use with WPF or windows forms, including forms authentication. </p>
<p>Validation using sidecar classes like RIA services and DataAnnotiations. A special class is generated for WPF to use DataAnnotations too. </p>
<p><strong>Some of the new features I wish to implement are:      <br /></strong></p>
<p>Silverlight domain service with OData endpoint </p>
<p>Right now the templates generate VB.NET code but I soon hope to have more converted to c# too. Wanna help? </p>
<p><a href="http://ef4templates.codeplex.com/">http://ef4templates.codeplex.com/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2010/07/02/ef4-t4-templates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>
	</item>
		<item>
		<title>Xaml color scheme generator</title>
		<link>https://rickrat.wordpress.com/2009/12/24/xaml-color-scheme-generator/</link>
					<comments>https://rickrat.wordpress.com/2009/12/24/xaml-color-scheme-generator/#respond</comments>
		
		<dc:creator><![CDATA[rickratayczak1971]]></dc:creator>
		<pubDate>Fri, 25 Dec 2009 00:50:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xaml]]></category>
		<guid isPermaLink="false">http://rickrat.wordpress.com/2009/12/24/xaml-color-scheme-generator/</guid>

					<description><![CDATA[I’ve made a xaml color scheme generator that works with http://colorschemedesigner.com/ It generates a resource dictionary and xaml demo source. In the color scheme generator site, just export to xaml, and save to a file. In the generator, browse for that file, and click convert. Download it here Requires .NET 4.0 Client Profile.]]></description>
										<content:encoded><![CDATA[<p>I’ve made a xaml color scheme generator that works with <a href="http://colorschemedesigner.com/">http://colorschemedesigner.com/</a></p>
<p>It generates a resource dictionary and xaml demo source. In the color scheme generator site, just export to xaml, and save to a file. In the generator, browse for that file, and click convert.</p>
<p><a href="http://www.compdj.com/dl.aspx?f=Xaml_Color_Scheme_Generator.zip">Download it here</a></p>
<p>Requires .NET 4.0 Client Profile.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rickrat.wordpress.com/2009/12/24/xaml-color-scheme-generator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://1.gravatar.com/avatar/75dccd3e5585e625967909ebf38d00402d0c1492636a5f45d84423c77cc53c4b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rickratayczak1971</media:title>
		</media:content>
	</item>
	</channel>
</rss>
