views:

30

answers:

1

I have a Silverlight solution that I want to create a build script for. I have a simple script that looks like this

call "c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

msbuild %CD%\V1\Incentive.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2 
msbuild %CD%\UI\IncentiveUI.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2

pause

However when I run this I get a failure, with some complaints about classes that are in a project with linked files:

http://pastebin.com/JRE3tWfh

This solution compiles fine in VS2008 so I can't figure out what the problem is. I have to guess something is wrong with the way I am using msbuild here.

+1  A: 

Make sure that

  • the projects are building in the proper order,
  • the references to other projects in the solutions are set properly to projects and not the dlls, and
  • that all the projects that aren't Windows Applications, Console Applications or Web Applications are set to Class Libraries.

View the raw .csproj XML if necessary.

I had an issue yesterday with similar symptoms as you that was due to a VB Project set to be an Windows Application but was supposed to be a Class Library. It was building fine in VS2008 because the mis-configured project's .dll and .exe was already built in \bin\Debug\ and Visual Studio was using that for its references. I didn't notice it until I did a Clean which caused me to have to build the project twice, the first one failing as it could not find the referenced project's dll/exe, and the second building fine.

TylerHam
But reading XML makes baby Jesus cry... I'll take a look around the CSPROJ files and see what I find.
Chris Nicola