Weird runtime errors and the just in time compiler part 2

Yesterday I blogged about some if the weird runtime errors we had been experiencing. Well some colaberatiosn between several MVP’s (great crowd btw) led to a partial solution. By adding:<Assembly: Debuggable(True, True)> to the project will efectively turn off all JIT optimizations for the whole assembly. Not the best of solutions because it sure hurts perormance and even then not a compete one because some of the issues like an invalid cast to System.__Canon still remains. But atleast we have the app running in a more or less stable manner.Still this experience sucks and makes me a bit wary of … Continue reading Weird runtime errors and the just in time compiler part 2

Weird runtime errors and the just in time compiler

There is an old compiler writer’s motto that says: Making a wrong program worse is no sin. There is another motto that says: A bug free program doesn’t exist.Well it seems the Microsoft .NET runtime JIT team has combined the two motto’s allowing perfectly good code to go wrong And I have recently been bitten multiple times by this.   So what happens? Well I have code that runs perfectly well from within Visual Studio 2005, both debug and release build that is. Now I run the release build as a standalone application on the same machine and it starts … Continue reading Weird runtime errors and the just in time compiler

Free SharePoint 2007 Book

Doing any SharePoint work? Well there is a useful free SharePoint 2007 book out there. See for more details.   Maurice de Beijer

DevExpress CodeRush and Refactor 2.0

If, like me, you are a fan of DevExpress, ok actually Mark Miller’s, CodeRush and Refactor products you will be happy to know that version 2.0 has been released. If you have never used them before I suggest you take a good look at them. They me save a bundle of time when doing work and time is one thing I am always short on   There is a demo movie at:   Take a look at for some of the details when upgrading from a pervious version of CodeRush.   Maurice de Beijer

How not to use Async function calls

The following is a piece of code I recently ran into:   IAsyncResult asyncResult = m_Queue.BeginPeek(); while (!asyncResult.IsCompleted && m_Running)     Thread.Sleep(10);   if (m_Running) {     Message message = m_Queue.EndPeek(asyncResult);     ProcessMessage(message); }   Now this is already running in a background thread, not that it makes a lot of difference though. But calling an async  begin function, then sleeping until it is finished and retrieving the result makes no sense whosoever. You might as well just call the regular Peek() and be done with it.   So the rational behind writing it this way? Well Peek raises and … Continue reading How not to use Async function calls

VBevent op 28 juni

In de avond van 28 juni aanstaande organiseert de VBcentral gebruikersgroep een VBevent. André Obelink presenteert een sessie over de nieuwe taalelementen in Visual Basic 2005. Hierna geeft Thomas Huijer een presentatie over software testen met Visual Studio 2005.   Zie voor meer informatie en het aanmelden voor deze avond Maurice de Beijer