MadeOfStars
MadeOfStars

Reputation: 61

MSBuild error when building <project> unrecognized

I have installed VS2010. I have a simple .build file which contains this.

<?xml version="1.0"?>
<project name="system" default="build">
    <target name="build">
        <exec program="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe">
            <arg value="C:\System\system.build" />
        </exec>
    </target>
</project>

When I try to build the project by typing C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe system.build, I received this error.

C:\System\system.build(2,1): error MSB4068: The element is unrecognized, or not supported in this context.

I'm interested in recommendations or suggestions.

Upvotes: 3

Views: 7160

Answers (2)

James Woolfenden
James Woolfenden

Reputation: 6671

The reason it doesn't work is you've written the msbuild file almost exactly like you'd write ant/nant. Yes the Project is missing the xmlns tag but every other element is also incorrect. In MSbuild The first letter is always in capitals - Project and nor project. The same goes for all the elements. Like so:

<?xml version="1.0"?>
<Project name="system" default="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="build">
        <MSBuild Project="C:\System\system.build"/>
    </Target>
</Project>

Upvotes: 3

Ruben Bartelink
Ruben Bartelink

Reputation: 61795

Dont forget to read your question after you post (the sample was missing which is why you got no quick answers)

You're missing the xmlns on the project node - see a csproj for the required ns bit.

Also, it normally doesn't make much sense to run msbuild from within msbuild as you've done, but then you knew that! (There's an MsBuild task too, which is generally what you want if you want to nest invocations)

Upvotes: 1

Related Questions