<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>There and Back Again : My Toolbox</title><link>http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx</link><description>Tags: My Toolbox</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>ReSharper 4.0 is Released!!</title><link>http://blogs.msdn.com/howard_dierking/archive/2008/06/10/resharper-4-0-is-released.aspx</link><pubDate>Wed, 11 Jun 2008 00:02:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8590419</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/8590419.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=8590419</wfw:commentRss><description>&lt;p&gt;I don't have much more to say on this one except - WOO HOO!!!&amp;#160; You can download it &lt;a href="http://www.jetbrains.com/resharper/download/index.html?40nl"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8590419" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+.NET+Programming/default.aspx">Microsoft .NET Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item><item><title>Building NHibernate 1.2.1GA on .NET 3.5</title><link>http://blogs.msdn.com/howard_dierking/archive/2008/03/20/building-nhibernate-1-2-1ga-on-net-3-5.aspx</link><pubDate>Fri, 21 Mar 2008 00:49:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8327970</guid><dc:creator>hdierking</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/8327970.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=8327970</wfw:commentRss><description>&lt;p&gt;I recently reached a point where for reasons that I'm sure you can all relate to, I decided to clean my laptop and rebuild.&amp;#160; I therefore did a clean install of Vista with SP1.&amp;#160; As a quick aside, SP1 does actually seem to improve performance - particularly when starting up or closing down.&amp;#160; Anyway, after I was back up and going again, I setup &lt;a href="http://nant.sourceforge.net/"&gt;NAnt&lt;/a&gt; and then downloaded the &lt;a href="http://www.hibernate.org/343.html"&gt;NHibernate&lt;/a&gt; 1.2.1 GA source.&amp;#160; However, I ran into 2 major problems building, so I thought I would share those, along with how to work around them.&lt;/p&gt;  &lt;p&gt;Both problems can be corrected by modifying the markup in the build-common/common.xml file.&lt;/p&gt;  &lt;p&gt;The first problem had to do with the fact that the build was expecting the clover library.&amp;#160; The solution was simply to add a condition to the property set declaration.&amp;#160; I'm not going to spend any more time on this one, because the problem/solution is &lt;a href="http://forum.hibernate.org/viewtopic.php?p=2373051"&gt;documented here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The second problem is that there is no target in the build file for .NET 3.5.&amp;#160; On most machines, this isn't a big deal because you've probably upgraded framework versions incrementally, and the build file can target 2.0 with no problem.&amp;#160; Because I have a fresh OS/Framework install, I got an error saying that .NET 3.5 is not supported for my build of NHibernate.&amp;#160; This can be worked around by adding a target declaring a configuration for .NET 3.5, like so:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;target &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;set-net-3.5-framework-configuration&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;property &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;nant.settings.currentframework&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;net-2.0&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;property &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;current.build.defines&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;${build.defines}NET,NET_2_0&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;!-- &lt;/span&gt;&lt;span style="color: green"&gt;not using SDK_v2_0 because ndoc throws an exception &lt;/span&gt;&lt;span style="color: blue"&gt;--&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;property &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;link.sdkdoc.version&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;SDK_v1_1&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;property &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;merge.targetplatform&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;v2.0&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;target&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;When you get into the config file, you'll see that all I did was create a target with 3.5 declared as a part of the target name, and then coped the body from the 2.0 target inside of my 3.5 target.&amp;#160; Initially, I had actually configured the properties to make them specific to .NET 3.5.&amp;#160; Unfortunately, I later discovered when I tried to use the compiled assemblies that many of the source files have preprocessing directives that are specific to the defines declared in the build properties.&amp;#160; For example, the ISet&amp;lt;T&amp;gt; source code is wrapped with the following directive.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;#if &lt;/span&gt;NET_2_0&lt;/pre&gt;

&lt;p&gt;Anways, after making these 2 changes, I was able to build with no problem, and NHibernate continued to work as advertised.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8327970" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+.NET+Programming/default.aspx">Microsoft .NET Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/NHibernate/default.aspx">NHibernate</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item><item><title>New Addition to My Toolbox</title><link>http://blogs.msdn.com/howard_dierking/archive/2008/03/08/new-addition-to-my-toolbox.aspx</link><pubDate>Sun, 09 Mar 2008 06:46:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8116085</guid><dc:creator>hdierking</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/8116085.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=8116085</wfw:commentRss><description>&lt;p&gt;When it comes to creating CDs and DVDs, I pretty much have a singular need - burning ISO images of software.&amp;#160; Therefore, I always find myself pretty annoyed with the &amp;quot;everything and the kitchen sink&amp;quot; tools like Nero and Roxio and I've been quite content over the past year using an internal command line tool.&amp;#160; Unfortunately, over the last month, I've been encountering all sorts of problems with this tool and as I'm about to pave my workstation for Vista with SP1, I needed to find a good (free) DVD burning tool - and &lt;a href="http://www.imgburn.com/"&gt;stumbled across this little gem&lt;/a&gt;.&amp;#160; Bottom line from my experience thus far - it's free, it's simple, and it works as advertised.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/howard_dierking/WindowsLiveWriter/NewAdditiontoMyToolbox_11602/imgburn_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="226" alt="imgburn" src="http://blogs.msdn.com/blogfiles/howard_dierking/WindowsLiveWriter/NewAdditiontoMyToolbox_11602/imgburn_thumb.jpg" width="339" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8116085" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item><item><title>Wow - That Was Annoying</title><link>http://blogs.msdn.com/howard_dierking/archive/2007/11/18/wow-that-was-annoying.aspx</link><pubDate>Mon, 19 Nov 2007 05:18:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6385661</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/6385661.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=6385661</wfw:commentRss><description>&lt;p&gt;So I'm in an awkward place right now when it comes to programming.&amp;#xA0; In addition to the fact that I no longer program on a day-to-day basis (which is starting to bug me a little more than it used to as I'm afraid I'm starting to atrophy a bit), I'm also now up on Visual Studio 2008 - which is really great in a lot of respects - but at the same time is kind of bumming me out.&amp;#xA0; I'm not bummed because of anything inherent in Visual Studio - I'm bummed because Resharper just doesn't really work all that great in it.&amp;#xA0; Don't get me wrong - R# works - but the semantic analysis tools don't yet work with a lot of the C# 3.0 language enhancements - and as much as I tried to ignore the R# compiler errors on things like Linq queries, I finally just got tired of it an uninstalled R#, impatiently awaiting the 4.0 release.&lt;/p&gt;  &lt;p&gt;Firstly, let me just say that not having R# is miserable from a refactoring standpoint.&lt;/p&gt;  &lt;p&gt;Secondly, losing R# led me down the path to another headache (which is the subject of this post) - I no longer have a VS add-in runner for NUnit.&amp;#xA0; Yes, I know - I could (and probably should) go back and download TD.NET - but instead, I was curious to see how easily it would be for me to just convert my NUnit tests to VS 2008 unit tests.&amp;#xA0; In short, it's not terribly difficult, but getting there was a frustrating journey.&lt;/p&gt;  &lt;p&gt;Why?&amp;#xA0; Because unlike NUnit, where a test fixture is explicit in code (and only in code) via the TestFixture attribute, VS tests rely on a second piece of metadata in order to have them run via the VS test manager/test runner.&amp;#xA0; That metadata is not found in the *.vsmdi file - instead, it's actually a property in the project file of your unit test project.&lt;/p&gt;  &lt;p&gt;Therefore, if you started from a regular class library project and need to have it recognized by VS as a &amp;quot;test project&amp;quot;, open the *.csproj file in notepad and add the following to any PropertyGroup.&lt;/p&gt;  &lt;p&gt;&amp;lt;ProjectTypeGuids&amp;gt;{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&amp;lt;/ProjectTypeGuids&amp;gt;&lt;/p&gt;  &lt;p&gt;The first Guid identifies your project as a test project (the second is the language I believe - feel free to correct me if I'm wrong).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6385661" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+.NET+Programming/default.aspx">Microsoft .NET Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item><item><title>A Little C# 2.0 Gem</title><link>http://blogs.msdn.com/howard_dierking/archive/2007/05/30/a-little-c-2-0-gem.aspx</link><pubDate>Wed, 30 May 2007 23:06:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2993002</guid><dc:creator>hdierking</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/2993002.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=2993002</wfw:commentRss><description>&lt;p&gt;You may already know this (maybe I did at one point, but if so I surely forgot it), but I learned it today and was pleasantly surprised (I'm easily impressed).&amp;nbsp; I would like to thank &lt;a href="http://www.jetbrains.com/resharper/"&gt;ReSharper&lt;/a&gt; for this discovery &amp;lt;g&amp;gt;!&lt;/p&gt; &lt;p&gt;Anyways, here it is.&amp;nbsp; If you're using anonymous methods on a defined delegate type and your method body is not using any of the parameters for the delegate signature, you can simply omit the entire parameters section.&amp;nbsp; Here's an example.&lt;/p&gt; &lt;div&gt; &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; Timer t = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Timer(2000);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; t.AutoReset = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; t.Enabled = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; t.Elapsed += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ElapsedEventHandler(&lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;         bugFlowSvc.CloseBug(instance.InstanceId, bug);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     });&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I'm so&amp;nbsp;easily amused!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2993002" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item><item><title>ReSharper 2.5 is Released!</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/12/13/resharper-2-5-is-released.aspx</link><pubDate>Wed, 13 Dec 2006 19:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1276342</guid><dc:creator>hdierking</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1276342.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1276342</wfw:commentRss><description>&lt;P&gt;This is my absolute favorite developer tool (short of its host of course)! This latest release is supposed to have many performance improvements – particularly in VS.NET startup. Also, I believe that it is supposed to play more nicely with Vista. I'm installing it now, so I have my fingers crossed! &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.jetbrains.com/dotnet/2006/12/resharper-25-for-visual-studio-2005-released/" mce_href="http://blogs.jetbrains.com/dotnet/2006/12/resharper-25-for-visual-studio-2005-released/"&gt;http://blogs.jetbrains.com/dotnet/2006/12/resharper-25-for-visual-studio-2005-released/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1276342" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+.NET+Programming/default.aspx">Microsoft .NET Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/My+Toolbox/default.aspx">My Toolbox</category></item></channel></rss>