First some background.
Unless you are new to .NET development you will have heard of and probably used the excellent .NET Reflector tool that was written some years ago by Lutz Roeder. It takes a .NET assembly and does a good job of decompiling it into C#. It has many more features than just this but that is the core functionality. I have used it many times to help me understand how the base classes work in WinForms. In August 2008 Lutz sold .NET Reflector to Red Gate Software who continued to provide a free version but they also developed extra features that became commercial versions.
Show Me The Money
On Feb 2nd 2011 they announced that they would be charging $35 for the tool. When a product has been available for many years for free the market expects it to remain free. Especially when Lutz sold it to Red Gate and the impression people received at the time was that a version of it would remain forever free.
This has created some backlash from developers, not all developers, but a vocal minority who feel they have been bait and switched. More importantly it created a hole in the market at the free price point. Two commercial companies have jumped into that space with JustDecompile from Telerik and dotPeek from JetBrains. Both of these are free. There is also an open source project called ILSpy that is making progress in replicating .NET Reflector functionality.
In response Red Gate have backtracked slightly with the following announcement. Basically it says that existing users of .NET Reflector can continue using version 6.8 for free into the future but all new customers will still need to pay. You can see the pricing for new customers here. This whole flip flop has really damaged the reputation of Red Gate.
It has also opened up a free for all where alternative tools will be developed when previously no one considered it worthwhile. I wonder if in a couple of years this will all be forgotten or will Red Gate look back and rue the decisions they made?
Saturday, April 17th, 2010
With great relief I managed to work out the problem and as luck would have it I solved the problem just 10 minutes before Microsoft support called me to investigate the bug report. Thanks to Lex Li for pointing me at the support website instead of the connect site for reporting the issue.
So what was the problem? I already had VS2008 installed and had setup the symbol server settings so I could step into and see the source code for the framework Windows Forms code. This has been very handy in the past for tracking down problems by allowing me to see exactly what was happening in the base classes. Reflector is an excellent tool but there is nothing quite like stepping through the real code.
Well it seems that VS2010 was using the already defined settings and this was the cause of the issue. I removed the symbol server settings and it all working perfectly. Put them back again and it takes essentially forever to try and start-up debugging an application. It never occurred to me until I checked that VS2010 would automatically be using the same settings as defined in VS2008. I just assumed you had to set them up manually for each Visual Studio version.
Thursday, April 15th, 2010
A quick update on the VS2010 problem. As recommend by commenter’s I have added a bug report on the Microsoft Connect site. If you want to vote the bug upwards it might have a greater chance of being investigated… (hint hint)…
Microsoft Connect – Bug Report
In the meantime I have restored a system image that I prudently took immediately before the install and so I’m back again working away although only with VS2008 at the moment. Even-money says the fix from Microsoft will be to wipe the machine and install everything from scratch. Not something I am looking forward to doing as it takes a couple of days to get everything up and running to the point of being able to build Krypton automatically again.
Wednesday, April 14th, 2010
Like a million other .NET developers I rushed to download the Visual Studio 2010 release and installed it on my machine. I hope I’m the only one that finds it’s seriously broken when trying to work with a Windows Forms project.
All I have to do is the following…
1, Startup VS2010
2, File -> New -> Project ->
3, Select C# -> Windows Forms Project template
4, Press F5 to compile and run
And then wait forever because after compiling it never runs the application. It makes no difference if I select the .NET Framework 4.0 or 2.0 or any of the others. They fail all the same. It makes no difference if you run as administrator or indeed any other setting I can think of. It’s just plain broken.
I sometimes also get the following error…
Now I find it hard to believe that something so basic would be broken so I must assume it is the setup of my machine helping to expose the problem. I have Windows 7 Professional 64bit with VS2005, VS2008 and now VS2010 all working side by side. Is anyone else using a similar setup and finding it does or does not work with the above steps?
Over recent months I’ve spent a few hours playing around with SQL Azure, Silverlight and WCF RIA Services. Nothing serious, just seeing if I could store some data in the cloud within a SQL Azure database and then get that data into a Silverlight application running in a browser. I toyed with the idea of creating the new company website as a Silverlight application and so wanted to play around to see how practical it would be. It would be a good chance to learn more about the technologies as well as making the website unique compared to the competition.
I quickly realised it would take more time than I had available. It also have the disadvantage of expecting all site visitors to either already have or be willing to install Silverlight. I don’t want to alienate some visitors by having a Silverlight install request as the first thing they see.
Turns out there is another good reason not to bother. Now that Windows Azure and SQL Azure are live it seems Australia has not been invited to the party. If your company is based in the US, UK, Japan, Germany or a good many others then you could sign up. Australia? Thanks but no thanks. You have to wait until some unspecified time in the future before you can use our service.
Good job I dropped the Silverlight idea.