"ERROR MSB4040 There is no target in the project" when using msbuild+Delphi2009

mamcx picture mamcx · Aug 27, 2009 · Viewed 8.2k times · Source

I'm trying to automate the build of a project in Delphi 2009.

I'm using msbuild with .net 3.5

I simply call:

Z:\Server>C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild "BestSellerAppServer.g
roupproj" /target:Build

And get this:

Build started 27/08/2009 01:15:45 p.m..
Project "Z:\Server\BestSellerAppServer.groupproj" on node 0 (Build target(s)).
Project "Z:\Server\BestSellerAppServer.groupproj" (1) is building "Z:\Server\Be
stSellerAppServer.dproj" (2) on node 0 (default targets).
Z:\Server\BestSellerAppServer.dproj : error MSB4040: There is no target in the
project.
Done Building Project "Z:\Server\BestSellerAppServer.dproj" (default targets) -
- FAILED.

Done Building Project "Z:\Server\BestSellerAppServer.groupproj" (Build target(s
)) -- FAILED.


Build FAILED.

"Z:\Server\BestSellerAppServer.groupproj" (Build target) (1) ->
"Z:\Server\BestSellerAppServer.dproj" (default target) (2) ->
  Z:\Server\BestSellerAppServer.dproj : error MSB4040: There is no target in th
e project.

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.06

I compile fine inside the IDE.

I found this http://huwk.blogspot.com/2009/02/msbuild-fails-to-compile-delphi-2009.html but not solve the issue.

Answer

Steve picture Steve · Aug 28, 2009

There is a batch file called rsvars.bat (search for it in the RAD Studio folder). Call that before calling MSBuild, and it will setup the necessary environment variables. Make sure the folders are correct in rsvars.bat if you have the compiler in a different location to the default.