Skip to main content

Code Analysis Invalid Settings Error When Invoked from within VSTS

This issue plagued me for several hours today so I'm posting my resolution. Executing Code Analysis from within Visual Studio Team System - Team Suite kept reporting:
"Invalid settings passed to CodeAnalysis task. See output window for details."
MSBuild is unable to locate the correct binaries to perform Code Analysis on managed binaries. Make sure that either Visual Studio Team System 2008 Development Edition or Visual Studio Team System 2008 Team Suite is installed with the Code Analysis feature. If MSBuild is being run from within the "Visual Studio Command Prompt", specify the path to your analysis binaries by setting the FXCOPDIR environment variable.
At first, after a search, I thought it was an Environment Variable issue regarding the path to FxCopCmd.exe. Very helpful post here. However, after adding the Environment Variable FxCopDir, I was closer but still getting an error.

Finally, I took the FxCopCmd.exe command line string into a command window and executed. It came back with:
Switch '/targetframeworkversion' is an unknown switch.
Microsoft (R) FxCop Command-Line Tool, Version 1.36 (9.0.21022.8)
Copyright (C) 2007 Microsoft Corporation. All rights reserved.
Ah ha. Now we're getting somewhere. Hypothesizing this was an old version of FxCop which didn't understand target frameworks, I downloaded the latest (which provides support for .Net 3.5 SP1) and installed it to %ProgramFiles%\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop (making a backup copy of the directory first).

After restarting VSTS, I received a successful code analysis result. Whew...back to my demo preparation.

Comments

Anonymous said…
I already replied on the thread, but I'll reply here as well.
This is most likely caused by the VS2008 Service Pack 1 not correctly being installed. Try reinstalling it.
Jeff Hunsaker said…
@David, Appreciate the suggestion. I'll give that a shot. Cleaner than my solution.
Anonymous said…
The was the only way I was able to resolve this:

I added a environment variable called: CodeAnalysisPath pointing to:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v9.0\CodeAnalysis
whittet said…
Building in VS2010 resulted in the CA0059 error on my machine. Copying the Visual Studio 2010 FxCop folder to the VS 2008 FxCop folder resolved the issue.

Popular posts from this blog

Hero Write-up: Now this is Customer Service!

My best friend Scott is president/C-everything of a small northeastern Ohio manufacturing concern, KirkKey Interlock . I hadn't spoken with him for a while and wanted to see how Canton fared with the Blizzard of '08 (that's what they're calling it...not me). I say, "So what's new?" He replies that on Tuesday his primary server (which essentially runs the business) came up with lame with not one, but [a statistically improbable] *two* physical disk failures on a RAID5 hardware array. My friend attempts the fix but gives up pretty quickly after seeing some Linux nasty-grams on the boot screen. His service provider is an old college buddy who lives down in Raleigh, Cerient Technologies led by Jason Tower . Scott couldn't email out because Exchange was on the toasted server. Being creative, Scott started Treo-emailing photos of the screen. Unfortunately, Jason couldn't receive email because a storm had knocked out a lot of local hosting. [Sigh] After...

Certified or Certifiable?

As a senior technology professional, I interview a lot of candidates. I also maintain solid relationships with other folks in the community. Frequently, the topic of certifications arises: A good investment? Valuable? A clear measurement of skill? Consensus appears to draw the line related to one's seniority. If you're (for example) just out of school and looking for an instant creditability boost, by all means pursue a certification. Likely, this credential will assist you in overcoming the "junior" tag and likely land you more interviews and client roles. (Note: I'm going to use the terms senior and junior here...no offense to either. Can't think of a better one word description. I was a junior once too.) In stark contrast, the value of certifications drops off the table around the 2-3 year mark. Some in my circles even perceive certifications as a negative for the senior professional. They think, "If this guy is so solid, why is he wasting valuable...

Lab Management in Visual Studio 2010 Released

In my experience, there's a lot of animosity and poor communication between Development and QA . It's not that they don't appreciate one another so much as they never seem to stay on the same page. QA : "What's the status on defect #4874?" Dev: "Done." QA : "Done?" Dev: "Yeah, I fixed that Tuesday." QA : "Err, ok . Well where is it? I mean where can I verify it?" Dev: "No clue. I committed it Tuesday. It passed unit tests and built successfully." QA : "Alright. I'll track it down." Invariably , QA speaks with the build manager (if there is one) to find the build in which that defect was repaired. After discovering the correct build, now QA needs an environment stood up to house that build. But wait, the UAT environment is currently testing the next release. It can't be disturbed for another week. At this point, the QA person's blood pressure heads for unsafe levels and the Dice.com bro...