DDDII
Jonathan has just emailed me to let me know that the DeveloperDeveloperDeveloper website has been updated with the details of the next event on 22nd October. I strongly recommend going along - the last one was excellent.
31 July 2005
27 July 2005
<testmetadata include="C:\Build\Root\Source\**\*.vsmdi">Exec task. The localtestrun.testrunconfig file is found in the same directory as the .vsmdi file by default, so there's one less search to do. The assembly however, is four directories lower in the solution, e.g. SolutionDir\Tests\TestProject\bin\Debug. node in the XML. The location of the localtestrun.testrunconfig is also stored in the file, and the assembly location is also stored in the localtestrun.testrunconfig file.
<itemgroup>
<testmetadata include="C:\Build\Root\Source\**\*.vsmdi">
</itemgroup>
<target name="RunTests">
<exec command="'TestConfigAbsolutePath.exe" workingdirectory="Root\Source\Tools\TestConfigAbsolutePath">
<exec command="TestConfigAbsolutePath.exe %(TestMetaData.RootDir)%(TestMetaData.Directory)localtestrun.testrunconfig" workingdirectory="Root\Source\Tools\TestConfigAbsolutePath">
<exec command="'mstest.exe">
</target>
<exec> will be run one per .vsmdi file found using **. %(TestMetaData.FullPath) will give the full file name of the .vsmdi, and %(TestMetaData.RootDir)%(TestMetaData.Directory) will give the directory that contains it, which can be used as the path to the localtestrun.testrunconfig. The paths are rewritten before the mstest is executed, so mstest can find the correct files and assemblies.26 July 2005

26 July 2005
?: because it isn't as readable as an if .. then .. else. This might be useful, particularly if a single word could be used to describe it when reading. "Otherwise" is the best I can come up with at the moment, as in "bar = foo ?? 42" can be read "bar equals foo, otherwise 42". There's probably a better word though. Any suggestions?25 July 2005
23 July 2005
22 July 2005
20 July 2005
17 July 2005
15 July 2005
7 July 2005
5 July 2005
5 July 2005
4 July 2005

Wonder what this is.
[Update]: It's a warehouse fire in Paddock Wood.