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

Get Your Team Foundation Server Hate On!

[Google ranking skyrockets... ;-)] I'm a big fan of TFS/VSTS. However, there are a good pocket of folks who take issue with the way TFS handles or implements a certain feature. Well this is your chance to vent! I'm planning a presentation around the "Top 10 TFS/VSTS Hates and How to Alleviate Them"...or something along those lines. But I need your help. Post a comment below detailing your dislike. If it's legitimate, I'll highlight it in the presentation and [hopefully] provide an alternative, resolution, or work-around. Thanks in advance! Update 7/19/2008: Version Control and Microsoft

Rollback a Ooops in TFS with TFPT Rollback

Rhut roe, Raggie. You just checked in a merge operation affecting 100's of files in TFS against the wrong branch. Ooops. Well, you can simply roll it back, right? Select the folder in Source Control Explorer and...hey, where's the Rollback? Rollback isn't supported in TFS natively. However, it is supported within the Power Tools leveraging the command-line TFPT.exe utility. It's fairly straightforward to revert back to a previous version--with one caveot. First, download and install the Team Foundation Power Tools 2008 on your workstation. Before proceeding, let's create a workspace dedicated to the rollback. To "true up" the workspace, the rollback operation will peform a Get Latest for every file in your current workspace. This can consume hours (and many GB) with a broad workspace mapping. To work around this, I create a temporary workspace targeted at just the area of source I need to roll back. So let's drill down on our scenario... I'm worki

Installing the .Net Framework 3.0 SP1 on Windows 2003 Server

I'm building an [automated] build server requiring the .Net 2.0 and 3.0 runtime. Unfortunately, at my client, they leverage a proxy server. The standard .Net 3.0 SP1 framework redist is really just a bootstrapper. Logged in as a local admin on the box, I didn't have the opportunity to authenticate the installation EXE with my domain credentials. So, the install kept timing out. Finally, I found this helpful post from Aaron Ruckman on how to download the very elusive, full framework package. It's here , BTW (x86). I finally get the full installation EXE downloaded to a fileshare, re-run the install and wham--" XPSEPSC: XPS must be installed..." Excuse you? This isn't an XPS ...it's a VM. I found a few MSDN posts here and here outlining the problem. I'm still not clear on what XPSEPSC does (Google yielded little) but you can download it here (x86) . After installing XPSEPSC, the framework installed without issue. Update : Somewhat related, there i