Archives

Archives / 2004
  • TestDriven.NET Link Cosmos

    If you filled in the TestDriven.NET survey in the last couple of days, you will have seen a 'Show' option on the 'Weblog/Home Page' question. If you selected 'Show', then your link may appear on the TestDriven.NET website. Today I'm opening a new section on the site called the "LinkCosmos". For the moment, this is where user links will appear.

  • TestDriven.NET Launch Report

    Two weeks after the launch of TestDriven.NET 1.0, I'm still feeling quite giddy from the all positive feedback. I knew there were a few enthusiastic users out there, but I was quite taken aback by the response.  Thank you everyone for your support!  If it carries on like this I'm confident we will get integrated unit testing out to the masses. There is still a loooong way before every mort, elvis and einstein has heard of TestDriven.NET. Erring on the optimistic side, 0.1% of .NET developers have tried using the add-in. I like to think a few more than that could benefit from using it.

  • TestDriven.NET 1.0 - The Acid Test

    As you may have already noticed, TestDriven.NET 1.0 has finally been released!  In the stress and excitement of getting a golden build together, I didn't get a chance to blog about it myself before lighting the blue touch paper!  For what feels like months I've been working nights trying to ensure that TestDriven.NET works with all versions of Visual Studio .NET, for all languages, on all platforms, for all user types using any of the major unit testing frameworks. The compatibility matrix is daunting and there are a lot of dark and scary corners!  This couldn't possibly have happened without countless debugging sessions over email and Messenger with many individuals.  I would also like to thank people for their patience with the beta and RC version timeouts.  This kept the pressure on for new releases and gave new versions of the installer an important workout.  This has now been disabled and I'm not sure I will ever use timeouts again!

  • Equivalent MSBuild/NAnt Tasks

    I've just added a new page to the MSBuild Wiki that compares equivalent NAnt and MSBuild tasks.  The page contains links to all of the MSBuild and NAnt task documentation I could find. I'm sure there will be some errors or tasks in there that I've missed.  It's a Wiki, so please jump in there and fix any mistakes!  You'll need to create a Channel9 account before you can start editing.

  • Feeling the Bounce (RC7 Bug)

    Note: This bug only effects people who downloaded TestDriven.NET RC7 on 05 Nov and are seeing "System.IO.FileNotFoundException: File or assembly name '...', or one of its dependencies, was not found."

  • State of Play

    I'm afraid our source control database is still out of action.  The whole point of aiming for V1.0 was to mark a stable branch in the database.  It would be crazy to take a snapshot from my development machine and call that V1.0.  Because of this I have decided to go with the last automated build until the database is back up and running.  This is set to time out on the 30th of November.  The golden version should be available well before then.

  • TestDriven.NET Build 841 RC6

    This was so nearly V1.0!  Unfortunately my Subversion source control database wedged itself with immaculate timing - I was in the middle of the last couple of checkins!  It has been repairing itself for the last 24 hours.  I don't know exactly when I'll be able to do the final build.  I've only had a problem with SVN once before (in over a year of heavy use).  It was able to repair itself last time - it just took a while.

  • TestDriven.NET RC2: Keyboard Mapping

    Peter Provost - If the focus is on the Output window, and you use a hotkey to launch the addin, you get an output message that says, "Unknown window vsWindowTypeOutput". It sure would be nice if it could find the topmost open editor and use the first test class in there.

  • TestDriven.NET RC2

    The final release is getting close. This last two weeks I've been fixing bugs and tackling issues I kept putting off. A lot a work has gone into getting the installer right. Getting an add-in to install and uninstall consistently for all versions of Visual Studio .NET is a minefield!

  • Introducing MutantBuild

    I'm now using MSBuild and WiX for all of my active projects. I ended up with a few VS2003 solutions that I didn't want to convert to VS2005/MSBuild format for one reason or another. It is a pain keeping Windows Forms applications compatable with .NET 1.x when editing using VS2005. I also wanted to be able to compile NUnit for .NET 1.0 using the VS2003 solution strait out of SourceForge.

  • FTP Uploads and WinXP SP2

    For some strange reason FTP uploads are only working from one machine on my network.  The working machine is running WinXP SP1.  All of the other machines are WinXP SP2 or Windows 2003 Server.  I've disabled the windows firewall on all of these machines (I'm running behing a NAT router) but still no joy.

  • New Version

    As some of you have already noticed, the last version of NUnitAddIn expired today.  With impeccable timing my Subversion server ran out of space and 'wedged'.  Luckily I do have backups and local versions on various machines.  To cut a long story short, I have been recovering that rather than getting out a new version for the last 24 hours.

  • Test With... Runtime

    I thought I'd take a souvaneir snapshot before I repave.  The final straw was installing .NET v2.0.31112.  This is the runtime you get with the beta of Monad over at BetaPlace.  Installing it in a virtual machine would have been sensible, but I was impatient.

  • Target Dependency Graph

    Using Peli's excelent Quickgraph library, I've written a little app to render MSBuild dependency graphs. Below you can see all of the targets in a C# project along with their dependencies. You can find the fiend responsible for it over here.

  • Another Bizarre Constellation

    You had the .NET 2.0 System assembly and friends last time.  This time it's the turn of System.EnterpriseServices.  The boxes represent 'expanded' assemblies with all references shown (except to System and mscorlib).  The odd thing here is that 'System.Transations' has a reference to itself!  It seems to be the only assembly in the entire framework like this.  I don't know if this is an artifact of how they're setting up circular references or by design.  Can anyone shed some light on this?

  • Defending Full Length Feeds

    Steve Maine puts the case for full length feeds much more eloquently then I ever could.  All I can say is that I'm not terribly fond of the new format.  If as Scoble says it's a bandwidth issue, are there not any alternatives?  Maybe we could syndicate out the supply of full length feeds.  They could be made available to a few specific IP addresses on the understanding that the owner mirror the feed.  There would be exposure in it for the mirror and choice for the users.  Mirrors could choose to differentiate themselves by the theme they use on their main page or how they organize the feeds.  Some popular sites already use this solution for their downloads.  Surely RSS feeds were designed to be syndicated!

  • System.Orgy (second try)

    My experiment the other day to include svg content in my weblog failed dismaly. I've used a PNG file for those of you who couldn't see the image last time.  It's a shame bacause I've grown to like svg.

  • Keyboard Shortcuts

    [Xai comments] I just started using your tool and I have to say that I love it. Only one thing I'd improve, give us a keyboard shortcut! By that I mean let us know what we should map keyboard shortcuts to. For instance, I want to map a keyboard short cut to running tests on the solution. What command would I map it to? Or can I?

  • NUnitAddIn 0.9.574 + Visual Studio 2003

    A few people have had issues running this latest build under Visual Studio 2003.  I know it works on some machines (mine for a start!).  Peli has Visual Studio 2002, 2003 and C# Express installed and it worked on all of them.  Loren has had it working with just Visual Studio 2003 installed.  I am now pretty stumped as to why it works on some machines but not others.

  • Installing NUnitAddIn-0.9.568

    The previous build of NUnitAddIn (build 0.9.482) was set to expire on August 30th.  The test execution engine it uses was derived from a pre-beta version of NUnit 2.2.  This latest build has been synchronized with the final NUnit 2.2 source.  I'm hoping to contribute these changes to the NUnit project in the near future (in particular the 'nunit.framework' version independence).

  • Fusion Changes

    Junfeng Zhang has made a number of posts recently about changes in assembly probing for .NET 2.0.  Since I deal with this stuff a lot, I thought I'd better note it here to remind myself.

  • Security Implications of InternalsVisibleTo

    Nat says:

    I think whenever we need to use this attribute, we should make sure that we make it internally visible to a strongly named assembly. Otherwise, this is just another crack in a pot. If we want to use it with Unit Tests, I mean that Unit Tests should be strongly named. :) Otherwise, Microsoft should make it extensible so that we can make this attribute apply only if it is a debug build. What do you think, Jamie?

  • Field of Dreams

    This last few days I have started getting back into MSBuild. At the end of last year I was colaborating with Loren Halvorson trying to make MSBuild part of our respective build processes. The idea was to carry on using Visual Studio .NET 2003, but to convert solution and project files to MSBuild before compiling. At the time the build files (.targets) that came with the PDC version of VS 2005 didn't support embedded resources, the MSBuild engine took a lot of coaxing to work with .NET 1.1 and there was no easy way to build C++ projects.  In the end it all turned out to be a little too painful.  Loren went on to use the NAnt <solution> task (which has matured a lot) and I went back to doing Visual Studio command line builds (the only way at the time to build C++ project files).

    This last attempt turned out to be a lot more successful.  I have been able to develop using VS 2005, build using MSBuild (and .NET 1.0), package using WiX and deploy on everything from VS 2002 and up!  You can find the end results here.

  • VS 2005 beta 1

    It has been a bit of work getting it to work with VS 2005 beta 1. In this latest revision the Visual Studio extensability assemblies have changed. Also the technique I was using to activate the add-in in a new app domain no longer works. I've now fixed it to use the default domain but this causes issues for VS2002. I can no longer use binding redirects in the app domain's config file to make it work with .NET 1.0. I am now forced to build against .NET 1.0 if I want to remain compatable with VS 2002.  Luckily MSBuild has come to the rescue!

  • System.Testing

    Peter Provost has started a petition to include unit testing support in all versions of Visual Studio 2005.  While I agree that unit testing should be essential part of all development, I don't think Visual Studio is the place to introduce an important new API.  I think a much more fitting place would be the BCL and SSCLI/Rotor.  At the moment the BCL has an extensive set of unit tests.  I would be in favor of converting these over to using a core testing framework (say 'System.Testing').  We would then have a standard API for writing tests under all implementations of the CLI.  I think this is where real value would come.

  • Visual Studio 2002, 2003 & 2005

    It is getting there.  Your feedback particularly welcome if you're trying it with Visual Studio 2002 or 2005.  If it fails to load when Visual Studio first starts - check the left hand box in 'Add-in Manager' next to 'NUnit Add-In'.  Make sure it's the left hand one, you don't want it loading on startup!

  • NUnitAddIn & VS.NET 2002

    Having difficulty installing the Add-In into VS.NET 2002 - is it supported? The add-in appears, but when I turn it on I get 'The Add-in 'NUnit Add-In' failed to load..... Error Number: 80131534 - does that mean anything to anyone? Would upgrade, but we have too many systems to upgrade and are at a critical point in development - shame 2003's project files are not backward compatibal eh!

  • Non-Admin & VS2005

    I've had mixed success with the NUnitAddIn installation issues.  I've tried to make it so that an administrator can do and install for all non-admin users.  According to the documentation Visual Studio does supports this, but so far I haven't been able to get it working.  I even created a noddy add-in using the 'Extensibility Project' wizard, but even this wouldn't work for non-admin users.  Are there any add-ins out there that work for non-admin users?

  • NUnitAddIn Install

    If you have had problems installing a recent version of NUnitAddIn please contact me. I know some people have had issues and I would really like to get to the bottom of this. The most recent version is NUnitAddIn-0.6.365 and you can find it here.  There have been over 800 downloads of this version and only 1 person has contacted me (thanks Mawi).  The chances are it will work, but if not please let me know!

  • Mono in 2005

    I'm in the slightly odd situation where only Mono is working with Visual Studio 2005. The older .NET runtimes are throwing the following exception...

  • Changing a DLL Project to EXE

    NUnit supports having a '.config' file associated with a test assembly.  When creating a new app domain, NUnit looks for a file with the same file name as the test assembly but ending with '.config' (eg My.Tests.dll.config).  This is similar to the way .NET uses EXE.config files when a new process is started.

  • .NET Reflector Add-Ins 4.0.3.0

    The Reflector Add-In for Visual Studio .NET is now being maintained in the .NET Reflector Add-Ins GDN Workspace. This has the huge advantage that for every new build of .NET Reflector the add-ins will be compiled and updated. Although the add-ins might keep working when you use Reflector's 'Check for Updates' feature - it is highly recomended that you download the latest add-ins.

  • Reflector Add-In Resurrection

    You must have been hiding under a rock if you haven't heard about the new version of Lutz Roeder's .NET Reflector by now. With its support for generics, loading any version of mscorlib (including 2.0 and Mono) and the refreshing of assemblies you're in for a treat! This means all of the frustrations faced by my original Reflector Add-In are gone.

  • One for the brave...

    devenv nunitaddin.sln /build Debug
    sln2wxs nunitaddin.sln /config Debug
    candle nunitaddin.wxs
    light nunitaddin.wixobj
    ren *.msi NUnitAddIn-0.6.207d.msi dir *.msi 01/05/2004 15:09 845,312 NUnitAddIn-0.6.207d.msi 1 File(s) 845,312 bytes 0 Dir(s) 2,674,440,704 bytes free

  • Parsing a Solution File

    There's a new challenge up at Code Blog.  This time the tests are for something a little more real.  The aim is to parse a Visual Studio SLN file.  I admit to having a vested interest in some code to do this.  I am sick to death of poluting my test code with explicit knowledge of where project output directories are located ('bin\Debug' or whatever).  I really want to reference my project directories by name.  For example, 'Projects.Find("MyProject").BaseDirectory'.

  • Assembly References

    I've added the ability to add assembly references when compiling with Code Blog.  Something that threw me is the strong name key used to sign the 'System' and 'System.Web' assemblies are different!  To make life easy for you I'm now using LoadWithPartialName.  To reference the correct version of 'System.Web' you can just do "System.Web, Version=1.0.5000.0".

  • Code Blog

    I've just uploaded a set of unit tests for a sorting algorithm.  Anyone is welcome to flesh out the failing stup implementation and make the tests pass.  You can compile the code and run the tests online.  Once all tests pass you are free to give your submission a title and post to the Code Blog.  To see other people's submissions you can subscribe to the feed.