The Woes of Custom MSBuild Tasks

I tried to write a custom MSBuild task today to convert coverage data from a binary format to XML so I could show it in CruiseControl.NET (check this article out for the details). Well, basically I started getting into locking issues with my assembly that contained the custom task. This suggestion did nothing - this thread describes why that won't help. Here's where the beauty of Magenic's internal mailing lists helped - someone suggested that I put the assembly in a subdirectory of C:\Program Files\MSBuild, and put a .targets file there as well, and load it into my .proj file via the <Import> element. This works. So, if you're creating custom MSBuild tasks, I'd suggest that you put them somewhere so you don't get the locking assembly problem. (Granted, if you need to update the assembly on your machine when VS is building a project that uses that task, you're still screwed, but hopefully those tasks don't change a lot).

* Posted at 07.18.2006 01:08:24 PM CST | Link *

Blog History