Ошибка MSBuild при сборке <project>нераспознанным - PullRequest
3 голосов
/ 09 августа 2010

Я установил VS2010. У меня есть простой файл .build, который содержит это.

<?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>

Когда я пытаюсь построить проект, набрав C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe system.build, я получил эту ошибку.

C: \ System \ system.build (2,1): ошибка MSB4068: элемент не распознан или не поддерживается в этом контексте.

Меня интересуют рекомендации или предложения.

Ответы [ 2 ]

3 голосов
/ 16 мая 2013

Причина, по которой это не работает, в том, что вы написали файл msbuild почти так же, как вы пишете ant / nant. Да, в проекте отсутствует тег xmlns, но все остальные элементы также неверны. В MSbuild Первое письмо всегда в заглавных буквах - Project и ни Project. То же самое касается всех элементов. Вот так:

<?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>
1 голос
/ 09 августа 2010

Не забудьте прочитать свой вопрос после публикации (образец отсутствует, поэтому вы не получили быстрых ответов)

Вам не хватает xmlns на узле проекта - см. Csproj для требуемого бита ns.

Кроме того, обычно не имеет смысла запускать msbuild из msbuild, как вы это сделали, но тогда вы это знали! (Существует также задача MsBuild, которая обычно является тем, что вы хотите, если хотите вкладывать вызовы)

...