I've used NAnt for years. But for many reasons on a new project I decided to give MSBuild a shot. Everything worked great on my laptop but when I moved to the CC.NET build server I ran into a few problems. I thought that it would be useful to document the problems and solutions:
Issue 1
<error code="MSB4019" file="C:\CruiseControlData\abf\WorkingDirectory\Website\ABF.csproj"
line="544" column="11">
<![CDATA[The imported project "C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\WebApplications\
Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration
is correct, and that the file exists on disk.]]>
</error>
Thanks to Scott Allan for the answer.
Issue 2
<error code="MSB3091" file="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets"
line="1669" column="9">
<![CDATA[Task failed because "LC.exe" was not found, or the .NET Framework SDK v2.0 is not installed.
The task is looking for "LC.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.]]>
</error>
This one is a little easier because it tells you what to do. I saw some warnings elsewhere in the build output about the SDK being missing so to avoid future issues I downloaded and installed it.
Now everything works. Sweet!