Gotchas: Common Traps for the F# n00b

Sunday, January 3rd, 2010

I spent a bunch of time over the holidays getting to know F# a bit better. I think I now consider myself to be truly dangerous with it. A couple of things which repeatedly bit me as I stumbled through learning F# as a n00b.

Gotchas: Adding Attributes to Properties on Interfaces in F#

Tuesday, September 15th, 2009

I ran into a couple of issues when writing an F# class to be consumed by C#. Specifically when it came to adding attributes to a property declared on an interface. You would expect the following code to decorate the SofteningLength property with the Dependency and DefaultValue attributes: ...

Gotchas: MSBuild Conditional Import Ignored by Visual Studio

Thursday, September 3rd, 2009

Here’s nasty little quirk of MSBuild and Visual Studio which took me some time to solve last night… I have a C# project file which has been modified to import a custom .targets file. This targets file in turn imports some settings (property and item groups) using the following ...

Gotchas: Getting C++ Projects Building on a CI Server

Friday, May 1st, 2009

The other day I added a VC++ project to my main solution file and all hell broke loose on the TeamCity CI server. Errors like this started appearing. D:\TeamCity\buildAgent\work\71a700fe606e0795\trunk\NBody.sln error MSB3411: Could not load the Visual C++ component "VCBuild.exe". If the component is not installed, either ...

Gotchas: Debugging WPF Data Binding

Thursday, December 18th, 2008

I've been playing around with WPF data binding recently and was struggling a bit with how to debug it when things weren't working right. Translation: cursing a lot when everything was hawked and I couldn't figure out why. Suppose I have the following binding that doesn't work the way I expect. ...

A Combined Module Enumerator For The Prism Bootstrapper

Thursday, December 4th, 2008

I ran into the following issue with p&p's Composite WPF guidance (Prism). Prism allows you to configure your application with multiple modules. These can either be statically referenced or dynamically discovered at runtime In my scenario I have two assemblies each containing a module; assembly A and assembly B, containing ...

Composite Application Guidance for WPF with EntLib 4.1

Tuesday, November 18th, 2008

I've been working on an application that uses Composite Application Guidance for WPF (Prism) and wanted to upgrade to use Enterprise Library 4.1 rather than the 4.0 version that Prism originally shipped against. Turns out updating this is pretty straightforward (but not trivial)...

Windows Home Server and Squeezebox

Saturday, September 27th, 2008

So having got my home server up and running I finally got around to getting music streaming off it into my living room with a Logitech Squeezebox Duet. First off this is not an appliance, it's a science project, albeit a really good one. I spent a happy hour fiddling ...

Building a Green Windows Home Server: Conclusions

Monday, September 8th, 2008

It works! So the build is complete and I have a working server. Interesting this weekend the system disk in the machine I have downstairs chose to start failing CHKDSK. WHS actually picked up on this and warned me while it was trying to backup. Restoring the disk from ...

Gotchas: SN.EXE problem on Vista fixed in VS 2008!

Tuesday, March 18th, 2008

Back in September I ran into some issues using SN.EXE on Vista. SN would look like it had added a strong name verification skipping entry when really it hadn't. Doing the SN -Vr *,######### with the SN.EXE tool that ships with Visual Studio 2008 gives a much better behavior.   ...