I’ve done a bit of work on rake-dotnet since the last release I blogged about (which was 0.0.8); the latest release is v0.1.9 and includes:

  • NEW: MsBuild: Can now take arbitrary properties list
  • NEW: MsBuild: Default to treating warnings as errors, as stringently as possible
  • NEW: MSBuild - support for building VB.NET and WiX projects
  • NEW: AssemblyInfo - support for generating AssemblyInfo.vb into {project}/My Project/ (which I hope is the by-convention place)
  • NEW: RDNPackageTask - generate a named task per package so they can be built individually
  • NEW: SevenZip - wrapper for extracting an archive
  • NEW: NCover: Generate the full-coverage report
  • NEW: Add the ability for ncover.reporting to generate more than one report at a time
  • NEW: Add FxCop -> TeamCity code-inspections reporting via TeamCity’s service-messages feature
  • NEW: If VERBOSE=true is passed on the command line, command-line calls will get echoed before they’re run (otherwise, they get ellipsis’d by rake’s error tracing, which doesn’t let one see the arguments)
  • NEW: clobber_fxcop will kill off the fxcop report in isolation
  • CHANGE: SevenZip - wrapper is more useful ;-)
  • CHANGE: MsBuild; use constants rather than hard-codings for verbosity of output and source-directory
  • CHANGE: Harvesters - harvest dumps output into a config-version named directory now
  • CHANGE: NCover: Ignore ISymWrapper assembly by default; seems to be an NCover artefact
  • FIX: When TeamCity build-configs are out-of-sync, number-wise, we cannot rely on RDNVERSION to be a sensible default.
  • FIX: Initialise bin_dir to correct defaults
  • FIX: FxCop - support for running against .exe files instead of just DLLs. Exclude *.vshost.exe by default
  • FIX: NCover: Exclude-assemblies can be an array
  • FIX: NCover: Implement working-directory on ncover so it executes from the same location as the DLLs it’s using a tool to profile
  • FIX: If BUILD_NUMBER environment variable is not a number, use 0 (since only numbers are valid to the AssemblyFileVersion and AssemblyVersion attributes)
  • FIX: Automatically create {project}/Properties directories when generating AssemblyInfo.cs files (git does not version empty directories)
  • FIX: Detect processor architecture from environment variable rather than require user to figure it out and pass it in.
  • FIX: make get_tools_dir correctly return the path instead of just think about it.

There’s currently one known bug; the fact that output is put into non-friendly-to-type paths (this doesn’t interact with CI well).