NDepend Resources

I’m in the process of working with NDepend for the purpose of evaluating it when it comes to code metrics and helping with visualizing dependencies to help find areas where we could be combining assemblies into a single assembly.

To better understand the metrics I found these 3 resources on the NDepend website quite helpful:

A set of Power Point Slides in English freely re-usable for any NDepend presentation

A poster representative of NDepend Code Metrics made by Scott Hanselman, Patrick Cauldwell and Stuart Cellarier

Metrics Cheat Sheet byFrank-Leonardo Quednau

 

Advertisements

Visual Studio 2010 Not Copying DLL References

I had this issue recently when looking at someone elses solution.

Project A had a reference to project B, but when you tried to compile it would fail on Project A (because it couldn’t find any of the classes in project B) and the assembly for project B would not be copied to the BIN of Project A!

The errors looked like this:

C:WINDOWSMicrosoft.NETFrameworkv4.0.30319Microsoft.Common.targets(1360,9): warning MSB3253: The referenced assembly “MyAssemblyName” could not be resolved because it has a dependency on “System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” which is not in the currently targeted framework “.NETFramework,Version=v4.0,Profile=Client”. Please remove references to assemblies not in the targeted framework or consider retargeting your project.

After a lot of messing around it turned out that the “Target Framework” for Project A had been changed to “.NET 4.0 Client Profile” instead of just plain old “.NET 4.0”.

Change it back and rebuild: it’s that simple.

 

 

Code Review with TFS

I’ve been searching for some tools to use with TFS to help with doing code reviews.

So far the options I have found that seem worth considering are:

TeamReview

Malevich

Code Collaborator

 

TeamReview looks like the option I’m going to try first.  It’s supposed to be fully integrated into the IDE, but I’m not sure how the “replay review” thing will work.  It’s supposed to highlight the same code that you hightlight during the review, which I guess can work, I’ll see how it goes.

Malevich is a web based tool that integrates into TFS, but it’s an open source project with few users, and when I see that I tend to think that it will be a major pain to get working.

Code Colaborator is something you pay per user, about 500 bucks, which is pretty darn expensive.  I’d really like to find an option that doesn’t cost several thousand dollars per year.

I’ll see how TeamReview goes and I’ll post my thoughts here.

 

ASP.NET Buttons, OnClientClick, Javascript Confirm, and UpdatePanels

I’m not sure if this problem is a case of me using a button inside an update panel (most likely) or something new with ASP.NET 4.0 (we’ve noticed a lot of random differences between 2.0 and 4.0 in how some controls that seem unchanged between versions are actually rendering different html).

I had a button with a JavaScript confirm message inside an update panel.  So that looked like this:

OnClientClick="return confirm('Are you sure you want to commit your current changes?');"

but no matter what you selected the button would not trigger a postback.  The rendered HTML showed why.

onclick="return confirm('Are you sure you want to commit your current changes?'));
   __doPostBack('cmdCommitChanges','')"

(I wrapped that line for easier reading).

So you can see that we are never even reaching the __doPostBack that is added by asp.net because of the return statement.

To fix this, just chnage your OnClientClick to:

OnClientClick="if (!confirm('Are you sure you want to commit your current changes?')) return;"

 

The operating system is not presently configured to run this application

After installing Visual Studio 2010, I started getting an error message every now and then when I would try to view the designer in Visual Studio 2008.

The first popup would say:

The operating system is not presently configured to run this application

Which was followed by the message:

Cannot load MSO.dll

I found that mso.dll was located in “C:Program FilesCommon Filesmicrosoft sharedOFFICE12”, and after adding that path to my PATH environment variable in Windows (I’m running XP Pro) the issue seems to have gone away in VS2008.