I've run into this issue twice now and since I had to look it up again the second time (because I can't remember crap anymore), I thought I would post it here.
Task failed because "sgen.exe" was not found, or the .NET
Framework SDK v2.0 is not installed. The task is looking for "sgen.exe"
in the "bin" subdirectory beneath the location specified in the
SDKInstallRootv2.0 value of the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. You may be able to
solve the problem by doing one of the following: 1.) Install the .NET
Framework SDK v2.0. 2.) Manually set the above registry key to the
correct location. 3.) Pass the correct location into the "ToolPath"
parameter of the task.
So what is the deal? When installed VS.NET also installs the Framework SDK. Our build server has the Framework installed on it of course, but it does not have VS.NET installed on it and the Framework SDK was never installed on separately. For the most part our builds are normal web site builds, don't really use SGEN or SN or anything else like that. But one of the apps that I set up this morning had a project that uses SGEN. The build threw the above error message because the Framework SDK was not installed.
The fix: download and install the Framework SDK.
Technorati Tags: CruiseControl.NET MSBuild SGEN.exe