Microsoft vs TestDriven.Net ExpressThere are a few things I need

July 3, 2008 – 6:00 pm

Microsoft vs TestDriven.Net Express

There are a few things I need to get off my chest.

When I started working on TestDriven.Net I was a hobbyist .NET developer. My day job was as a Java consultant. TestDriven.Net was something I did for fun between consultancy gigs. Working on open source projects can be a great way to learn a new technology. I enjoyed being part of the fledgling .NET community and positive reception TestDriven.Net (then NUnitAddIn) was getting.

When TestDriven.Net 1.0 was released I was still hobbyist .NET developer. It was only natural that I use the Express SKU which was being targeted at other hobbyist developers. In fact I developed the whole of TestDriven.NET 1.0 using C# Express, MSBuild and WiX (as described in this post).

A few months after TestDriven.Net 1.0 was released I was given the MVP award by Microsoft. According to Ben Miller (my then MVP lead) I was “very well known” for having created TestDriven.Net. As far as I’m aware this was the primary reason I received the award.

On Dec 1, 2005 I received an email from Jason Weber the lead for the Visual Studio IDE and Visual Studio SDK. Apparently Jason wanted to better understand my product and strategy. It was clear from the email subject that Jason incorrectly assumed TestDriven.Net was a VSIP Package. The interesting thing about VSIP packages being that they require a special key from Microsoft in order to function.

This is where the story begins. I’m not going to summarize what happened. I’m going to give you all the information so you can make up your own mind.

  1. The first set of emails are between Dec 1, 2005 and Mar 30, 2006. They culminate in a teleconference between Craig Symonds (the General Manager for Visual Studio), Grant Drake, Jason Weber (who doesn’t say a word) and myself.
  2. The second set of emails are between March 31, 2006 and Apr 17, 2007. They culminate with Jason finally letting me know which license I’m supposedly in breach of (the Express EULA). I’m still none the wiser about which clause.
  3. Finally I receive two letters (delivered by motorcycle courier) from Microsoft’s UK lawyers. For the first time ever I am told which exact clause I’m supposedly in breach of. The second letter lets me know that they are reading my weblog and the TestDrivenUsers group.

Less than a year ago I was still a hobbyist .NET developer. I created TestDriven.Net as a tool for myself and something that I hoped other .NET developers would find useful. I have no intention of selling out and giving in to this kind of petty bullying without a fight.

Update: I received another letter on May 31, 2007.
Update: Fixed the email formatting when viewed in IE.

MbUnit v3 in Visual Studio Team System 2008
One of the changes made in MbUnit v3 alpha 3 was support for the Visual Studio Team System test runner. As Jeff points out, we are the first to offer this kind of support. At the moment the support is experimental but we will be driving foward more in the coming weeks and months. You will need …
andrewstopford

server application unavailable An error message detailing the cause of

July 3, 2008 – 12:00 pm

server application unavailable
An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. how to resolve this??

Microsoft fixes Xbox 360 license transfer
Microsoft has finally fixed a long-standing irritation with the Xbox 360: the inability to transfer licenses for purchased games from one console to another. The new license transfer tool lets you consolidate all your download purchases to a specific Xbox 360, even if some were downloaded onto a con…
Tim Anderson

OpenSUSE Goes to 11
Easier installation, 3D desktop effects, digital music and video management and an up-to-date OpenOffice are among the enhancements in openSUSE 11.0, which became generally available this week. Designed for the novice as well the advanced, installation options include a choice of Gnome 2.22 or KDE 4 desktop environments and the ability to boot from disc rather than the hard drive. Available now for download , openSUSE 11.0 adds Compiz Fusion (version 0.7.4), a windowing system that resulted in the marriage of the Beryl composite window manager with the community-built Compiz Extras. The…

TestDriven.Net 2.10: Smart Build

There are a number of new features in TestDriven.Net 2.10 that I want to highlight (apart from the VS 2008 crash workaround). The one I’m going to focus on here is subtle, but significant I believe - especially for people working with large solutions.

Smart build is a new optimization that allows you to skip the build step before test execution when there are no source code changes. Anyone working on a solution with a large number of projects will know how time consuming the build can be before any tests can be executed. Somewhat surprisingly this remains true even when no actual source code edits have been made and nothing needs to be compiled. I’ve had reports of the build check taking as long as 45 seconds before any tests could be executed! (Thanks to Brian Genisio in particular for bringing this to my attention)

The new smart build feature overcomes this particular problem by monitoring your solution for source code edits and automatically skipping the build step if there is nothing new to compile. This can significantly improve performance when running multiple tests in the same solution. For example there is now no penalty for choosing to execute all tests in a fixture after an individual test starts to pass: a common usage pattern.

I will elaborate further on other new features in future posts. In the meantime you can read the latest release notes and download TestDriven.Net 2.10 from here. If you find any issues, please don’t hesitate to contact me.

Shaping up Why doctors are switching on to video games…

July 3, 2008 – 7:00 am

Shaping up
Why doctors are switching on to video games…
Colin Harman MACITP

TestDriven.Net 2.10: Smart Build

There are a number of new features in TestDriven.Net 2.10 that I want to highlight (apart from the VS 2008 crash workaround). The one I’m going to focus on here is subtle, but significant I believe - especially for people working with large solutions.

Smart build is a new optimization that allows you to skip the build step before test execution when there are no source code changes. Anyone working on a solution with a large number of projects will know how time consuming the build can be before any tests can be executed. Somewhat surprisingly this remains true even when no actual source code edits have been made and nothing needs to be compiled. I’ve had reports of the build check taking as long as 45 seconds before any tests could be executed! (Thanks to Brian Genisio in particular for bringing this to my attention)

The new smart build feature overcomes this particular problem by monitoring your solution for source code edits and automatically skipping the build step if there is nothing new to compile. This can significantly improve performance when running multiple tests in the same solution. For example there is now no penalty for choosing to execute all tests in a fixture after an individual test starts to pass: a common usage pattern.

I will elaborate further on other new features in future posts. In the meantime you can read the latest release notes and download TestDriven.Net 2.10 from here. If you find any issues, please don’t hesitate to contact me.

Accessibility and MOSS - TechNet white papers
Downloadable TechNet white papers:Delivering Accessible Solutions using Microsoft Office SharePoint Server 2007Mark Harrison - Microsoft CorporationHenny Swan - Royal National Institute of Blind PeopleAbstractThis white paper provides information and guidelines about the issues that organizations fa…
noreply@blogger.com (Mark)

Links for 2008-07-02 [del.icio.us]
Niro: State Management in Business Entities The Lounge Advertising Network …
Tobin Harris

Hi-tech health How robots are transforming care in the NHS

July 3, 2008 – 2:00 am

Hi-tech health
How robots are transforming care in the NHS …
Colin Harman MACITP

Whois DATABASE?
Hi everyone, I have my website in PHP.I want to add in Whois Search. can someone please guide me thro? Thanks.Have a nice day.:icon_smile:

Another Break in Transmission
Yes, crazy though it is, we’re setting off tomorrow on a 600+ mile trip to Skye in our 38 year old VW camper. Skye must be one of the most majestically beautiful places on earth yet I’ve never visited. When we got our camper we promised ourselves a trip up there and the time has come. It’s going to…
MikeOrmond

Virgin rapped on broadband speeds
ASA upholds complaint about advertisements lodged by rival broadband provider BT….
Colin Harman MACITP

Two Principles of Conversation By Kevin Cauble
So what s a programmer to do? Short of waiting for MIS managers to become enlightened, not much–except try to work around the problem as best we can.
Click here for the full article.

NCoverExplorer… v1.4.0Syndicated from Kiwidude’s Geek Spot I’ve had this "quietly

July 2, 2008 – 8:00 pm

NCoverExplorer… v1.4.0

Syndicated from Kiwidude’s Geek Spot

I’ve had this "quietly available" on the download page for a few weeks to gain feedback on any issues and with no known issues outstanding it seems appropriate to more publicly announce it.

A big change in NCoverExplorer 1.4.0 is that it is no longer published under the GPL license. I made this change for a number of reasons; amongst which was the concern that a number of companies have of deploying GPL based tools into their development process. This roadblock has been removed and should no longer prevent your companies from using this toolset.

My original choice of GPL was based on using the ICSharpCode 1.x texteditor control. I have now dropped that component in favour of using the superior (but commercial) Actipro SyntaxEditor control instead. The improvements are not only in stability and features but also visual as you can see below in the code highlighting screenshot. A splitter window is available as also shown.

NCoverExplorer_1.4.0_Splitter

So why should you upgrade to NCoverExplorer 1.4?

This release is less about adding new features (although there are some to be found) and more about stabilisation for the future. The core model code has been rewritten and better tested. There have been countless code coverage corner cases (say that five times in a row!) arise that should be better catered for. Better performance for .NET 2.0 users, lower resource usage, better error handling and some minor gui quirks addressed.

Some of the "internal" changes have spilled over externally. For instance the configuration file format used by NCoverExplorer.Console with /c has changed to support new features, although I have retained legacy compatibility for those who choose not to upgrade their build scripts immediately.

What about the new features? Well, the ones I did squeeze in were…

  • Support for the //pm (profiling a process by name) argument in NCover 1.5.8;
  • Copy command in the source code text area via right-click;
  • Print preview command in the File menu;
  • /fc argument for NCoverExplorer.Console to fail a build if the combined total coverage of all assemblies does not meet the minimum specified. This was the original behaviour of the /f command before it was changed to fail if any individual assembly does not meet the minimum;
  • Coverage exclusions now support the ‘?’ wildcard and multiple ‘*’ wildcards within the expression.
  • Report xml contains a "totalSeqPoints" attribute as requested for developers writing alternate xsl reports that need to calculate the excluded code at each level;
  • Update the NAnt/MSBuild task dlls to support the latest changes;
  • Redesigned the options dialog as shown below;

NCoverExplorer_1.4.0_Options

Activate your iPhone using .NET 2.0

It appears that Jon Johansen (DVD Jon) is now a .NET developer. He has created a little .NET 2.0 application to activate your iPhone without giving any personal information to AT&T. The application runs as an activation server on your local machine. You then redirect albert.apple.com to 127.0.0.1 in your hosts file. Zac Bowling is attempting to get it working on the Mac via Mono.

Accessibility and MOSS - TechNet white papers
Downloadable TechNet white papers:Delivering Accessible Solutions using Microsoft Office SharePoint Server 2007Mark Harrison - Microsoft CorporationHenny Swan - Royal National Institute of Blind PeopleAbstractThis white paper provides information and guidelines about the issues that organizations fa…
noreply@blogger.com (Mark)

drop down menu based on form input hi… I am

July 2, 2008 – 12:00 pm

drop down menu based on form input
hi… I am developing an application using PHP/MySQL. here, i have one page(say P1), which contains a form(just one drop down menu, say D1, with only 2 options , say O1 and O2)… the target of P1 is another page, say P2. Now, *_P2 is also a form_*, and contains a number of fields (all text…

Happy New Year! Welcome to FY09!
Thanks to Mr Magoo for the following picture Don’t worry - I haven’t lost the plot. If you’ve been around people who work for Microsoft recently you may have heard them refer to “next year” when in reality they meant some time after today - this can be quite confusing as most people outside the comp…
Steve Lamb

Rack-Soft announces 4PSA VoipNow 1.6.2
Rack-Soft, the specialized developer and integrator of server and data center software, has announced 4PSA VoipNow 1.6.2, the hosted IP PBX server software solution for service providers, call centers, and enterprises. This newest version introduces i…

problem: row redundancy
I am trying a multi select query in management studio and I am only expecting a result that is a single output per row, however, when I tried executing it. The rows I called repeated once. For example I have 2 rows in my column1 and when I multi-selected my tables. I received 4 rows which is just a…

Hi-tech health
How robots are transforming care in the NHS …
Colin Harman MACITP

On LINQ to SQL, Concurrency and Timestamps I came across

July 2, 2008 – 6:00 am

On LINQ to SQL, Concurrency and Timestamps
I came across a bit of a glitch in using timestamps for checking concurrency violations in LINQ to SQL and thought I’d share. Say I’ve got a table like;create table Person ( id int identity primary key, firstName nvarchar(30), lastName nvarchar(30), timestamp ) so, we have a simple table that has a …
mtaulty

How to Make an Application Offline in ASP.NET 2.0
There are different approaches to taking an application offline, for such things as say maintenance purposes. The latest addition is App_Offline.htm in ASP.NET 2.0 and this article demonstrates how to perform this task. First, is a brief overview of IIS and then the usage of httpRuntime and App_Offline.htm are provided along with detailed analysis and screenshots.
SANJIT SIL

Spam experiment overloads inboxes
Security firm invites 50 people from around the world to surf unprotected for a month….
Colin Harman MACITP

Silverlight NUnit ProjectsI’ve been doing some experiments to find out

July 2, 2008 – 12:00 am

Silverlight NUnit Projects

I’ve been doing some experiments to find out if it’s possible to execute NUnit on a Silverlight project. I knew that Visual Studio 2008 and Expression Blend both host Silverlight for use in the designer window. It turns out that rather than host a separate instance of the CoreCLR, the designer simply loads the Silverlight assemblies into the host runtime. This simplifies the business of creating a compatible unit testing framework considerably!

With a little bit twiddling, I’ve managed to tweak the ‘nunit.framework’ assembly so that it’s compatible with Silverlight projects. In order for your tests to execute successfully, you also need to ensure that all Silverlight assemblies (except ‘mscorlib’) are set to ‘Copy Local: True’. After this is done you can run, debug and even do code coverage on your Silverlight unit tests!

Because creating one of these projects is a fiddle to set up, I’ve created Silverlight NUnit Project template that does the work for you. To install the template simply open the ‘SilverlightNUnitProject.vsi’ file and ignore the unsigned content warning. Once installed, you will find it under the ‘Visual C# / Silverlight’ section of the ‘New Project’ dialog. You can download the template from here.

SilverlightNUnitProject 

To execute one or more unit tests you should use ‘Run Test(s)’ rather than ‘Test With > Silverlight’.

RunTests

In summary you now have 3 options when testing Silverlight projects.

  1. For unit testing you can create a Silverlight NUnit Project and use the usual TestDriven.Net commands.
  2. For integration testing (within the context of a browser) you can use the Silverlight Testing Framework.
  3. For spelunking individual methods inside the CoreCLR you can use ‘Test With > Silverlight‘.

I’d be interested to hear how you get on.

Rhapsody embraces MP3 music files US digital music service Rhapsody

July 1, 2008 – 5:00 pm

Rhapsody embraces MP3 music files
US digital music service Rhapsody is the latest company to embrace MP3 downloads without copy restrictions….
Colin Harman MACITP

TestDriven.Net 2.10: Smart Build

There are a number of new features in TestDriven.Net 2.10 that I want to highlight (apart from the VS 2008 crash workaround). The one I’m going to focus on here is subtle, but significant I believe - especially for people working with large solutions.

Smart build is a new optimization that allows you to skip the build step before test execution when there are no source code changes. Anyone working on a solution with a large number of projects will know how time consuming the build can be before any tests can be executed. Somewhat surprisingly this remains true even when no actual source code edits have been made and nothing needs to be compiled. I’ve had reports of the build check taking as long as 45 seconds before any tests could be executed! (Thanks to Brian Genisio in particular for bringing this to my attention)

The new smart build feature overcomes this particular problem by monitoring your solution for source code edits and automatically skipping the build step if there is nothing new to compile. This can significantly improve performance when running multiple tests in the same solution. For example there is now no penalty for choosing to execute all tests in a fixture after an individual test starts to pass: a common usage pattern.

I will elaborate further on other new features in future posts. In the meantime you can read the latest release notes and download TestDriven.Net 2.10 from here. If you find any issues, please don’t hesitate to contact me.

image problem in datalist
Hi All I am working since 2 days to display images in a datalist and the code used is given below, but its not displaying the images. I am storing path of the image in database in *imagepath* cooumn. Kindly help me please. html code —————

Excel Software ships WinA&D version 6.0
Excel Software is pleased to announce WinA&D 6.0 for system models and simulation, requirements management, software design, code generation, reengineering and project reports.

TestDriven.Net 2.11: Parameterized NUnit Tests

TestDriven.Net has always supported parameterized test methods when used with the MbUnit testing framework. When using MbUnit, it is common for a single test method to execute multiple tests with different parameter inputs. The most famous of these test types is the MbUnit RowTest.

Until now there has been little reason to add support for executing parameterized tests using NUnit (historically NUnit has only supported parameterless test methods). However Andreas Schlapsi has recently written an implementation of MbUnit’s RowTest using NUnit 2.4’s Addin extensibility mechanism.

I’ve updated TestDriven.Net 2.11 to better support NUnit add-ins and enable the targeting of RowTests and other parameterized test types. This version also includes a workaround for a log4net related issue that was causing a noticeable delay when launching the NUnit 2.4 GUI. You can find the release notes for TestDriven.Net 2.11 here.

To install the RowTest Extension for NUnit you will need to do the following:

  1. Download and install TestDriven.Net 2.11.
  2. Download the RowTest Extension for NUnit 2.4.5 (Binary).
  3. Create a directory called ‘addins’ in ‘%ProgramFiles%\TestDriven.NET 2.0\NUnit\2.4′.
  4. Copy the ‘NUnitExtension.RowTest.AddIn.dll’ file into the ‘addins’ directory (don’t put any non-assembly files there).
  5. Add a reference to ‘NUnitExtension.RowTest.dll’ from your NUnit test project.

 RunRowTest

You can then start writing and executing MbUnit style RowTests inside your NUnit projects! You can find Peli’s original RowTest example here.

TestWithNUnit24

To view your RowTests inside the NUnit GUI you will need to use ‘Test With > NUnit 2.4′. You will find this option on the ‘Solution Explorer’ project context menu.

NUnitGui

Thanks to Wayne Brantley for letting me know about the RowTest Extension for NUnit.

TestDriven.Net 2.13: Support for Silverlight 2.0 Beta 1I’ve just uploaded

July 1, 2008 – 12:00 pm

TestDriven.Net 2.13: Support for Silverlight 2.0 Beta 1

I’ve just uploaded a new version of TestDriven.Net with support for Silverlight 2.0 Beta 1. Microsoft have certainly kept me on my toes as there have been lots of changes since Silverlight 1.1. I’m sorry it has taken a while!

At the moment you’re limited to running individual public methods (ad-hoc tests). If you need to run a suite of tests I recommend you use this in conjunction with the Silverlight Testing Framework that was released at MIX. Jeff Wilcox has posted a detailed tutorial that shows how to use the framework here. When running your tests using ‘Test With > Silverlight’, bear in mind that you’re simply executing the test method and any test attributes (TestInitialize etc.) will be ignored.

TestWithSilverlight2

I’ve also included an application called ‘agx.exe’ that lets you run console applications using the Silverlight/CoreCLR from the command line. After you’ve installed TestDriven.Net you will find this standalone application here: \Program Files\TestDriven.NET 2.0\agx.exe. This is simply an application that I use for my own testing purposes that I thought other people might find useful.

ConsoleSilverlight2

You can download the new version of TestDriven.Net from here.

Fellow Hayfever sufferers I feel for you
I lost most of the weekend to hiding away from beasties like this one. I know it’s a lovely flower and in reality grass pollen is probably causing more hayfever than this lovely flower. I know there are many people who suffer with hayfever far more than I do. I seems such a shame to be indoors whil…
Steve Lamb