AddIn - problem and solutions

I ran into some problems when creating my addin. Here are the solution to them:

  1. When i used the OutputTaskItemString the items was shown in the Error list, but when i double clicked on them nothing happened. I also noticed that only the first error was shown in the Output-window, where all the errors was supposed to be shown. This was a real small but annoying problem. The strings you write to the output window (and to the task) needs to end with a newline. Quite obvious when you know it. When i changed that everything worked out just dandy
  2. Deploying my add-in was (and maybe still is) a pain. Mostly this probably has to do with that my current customer has the My Documents-folder on a network share, but i am not sure. I found two good articles surrounding this: and

Just some...

Read More

Find missing VB.NET documentation

As frequent readers of this blog probably have noticed, i am not that impressed with VB.NET. Don’t get me wrong it is a great language but i think that there are a lot of improvements in Visual Studio for C# that you are missing when you’re using VB.NET.

One of those things you miss is the possibility to get warning for missing and faulty XML comments used for documentation with for example NDoc. I wrote about this before and won’t go into anymore details - but you can’t get these warnings and it sucks.

So - i have now hacked together an add-in for Visual Studio that finds missing and empty XML comments in VB.NET. The tool reports everything missing on all public and protected code-objects as tasks in the task list...

Read More

Slowing down...

In Sweden most people enjoy at around four weeks of summer leave from their work. Since you can take this leave whenever you want during the summer the “slow” period tend to drag out.

Also we start to think about that period or at least plan for it long ahead of it.

But not here, i can tell you! (for real). We have been hacking away in a furious tempo at work and rounding up some things from the moving. And then there is the wedding of Elins sister this weekend…

Been busy - so not that many blog post has been produced. But then again - now i can still claim that i only write when i have something interesting to say… Like this post ;)

Read More

Count your lines! Count them one by one

Here is something that always is a point of discussion in software development projects; “How many lines of code is this, anyway?”

This is a add-in to Visual Studio (worked like a charm on my 2005 version) that counts the lines of code, in- and excluding comments and blank rows if you want to.

Really nice actually and quite fun also. It is at least some kind of measurement, for the project management anyway.

Oh yeah - in six weeks we have produced 48 000 lines of code… We’re so proud! But also, I once heard that typically a programmer introduce a bug with every 100 lines of code he write; that gives us 480 bugs in the system. For that we would not be so proud.. :)

Read More


There is a movement growing in Sweden called “The humanist” or something. They are not that many but since they are high profile people the tend to take a lot of medial space. Also they have a very hard and condemning tone in many of their articles and appearances.

Their main thesis (according to a TV-interview with their leader Christer Sturmark yesterday) is that they are against religion but all the bad things religion leads to.

Well, well, well - that is something extra i must say. (Sarcasm coming up:) Because all we religious people think that is the bad things that people do in the name of all religions are the thing to focus on. In fact - i think that, that is the whole idea with religion. Or isn’t it?

Seeing an embarrassing debate in TV yesterday, surrounding this, i thought of two things:

  • What is the...
Read More

Transform XML with XSL, and string

This took us a while to find and put together. I don’t want to have to go through it again.

This function takes a xml-string and transforms it with the sent-in xsl (also string). The output is returned as a memory stream that, for example, can be set in a webbrowser controls DocumentStream property.

Here is the code (yes, in my favorite new language VB.NET ;)):

Friend Shared Function TransformXML(ByVal xmlString As String, ByVal xslString As String) As MemoryStream Dim memStream As MemoryStream = Nothing Try ' Create a xml document from the sent-in string Dim xmlDoc As New XmlDocument xmlDoc.LoadXml(xmlString) ' Load the xsl as a xmldocument, from the sent-in string Dim xslDoc As New XmlDocument xslDoc.LoadXml(xslString)' Create and load an transformation Dim trans As New XslCompiledTransform trans.Load(xslDoc) ' Create a memorystrem to hold the response memStream = New MemoryStream() Dim srWriter As New StreamWriter(memStream) ' Transform...

Read More

VB.NET - warnings for XML documentation, denied

When you generate system documentation from the XML comments in your code you want a way to be sure that the quality of the comments are as good as they can be, and in the earliest stage possible.

One way to accomplish this would have the compiler to issue an warning for all missing, faulty or un-matched comments it finds during compilation. In Visual Studio 2005 and C# this is very easy by setting the warning level to 4, treat all warning as errors and generating XML documentation.

VB.NET however… is another story all together, and again i understand that this is a choice. It’s like a philosophy of the language; VB.NET stands for simplicity and getting help from the environment where C# stands for control and managing the nitty-gritty details. However AI or help from the environment in my opinion very often leads to situations where you want to...

Read More

Paris in pictures

Here are some pictures from Paris, where Elin and I went this weekend. Not as warm as in Sweden but perfect sightseeing-weather. We must have walked 2 miles (Swedish that is) each day…

Read More

VB.NET showing build configuration

Just found a solution to something that have confused and annoyed for a while.

In VB.NET the current configuration (Debug/Release) is not shown. This is quite confusing if you are setting properties on a project, for instance. Which configuration are you setting the property for?

Here is the solution; it turns out that VB.NET is hiding the configuration for you by default. So to show them again go: Tools->Options->Projects and Solutions->Show advanced build configurations

Read More

Whit friday and Black Dyke

There is a famous brass band / marching competition in Great Britain called Whit Friday. There are loads and loads of bands taking part and they march up to a small village do a march and then continue on. Most bands do more than 15 events like this during the day.

There really fun part of it is that bands of all sorts take part from the most famous to the …eh.. not so famous.

Here is a short clip of Black Dyke doing a march in Delph. Take special notice of the tuba players in the front. I could carry one of those tubas for a minute, not to mention how it would be to play it…

Read More