Как добавить пользовательское свойство как дочерний элемент группы PropertyGroup в MSBuild? - PullRequest
2 голосов
/ 19 января 2010

У меня есть следующий скрипт сборки, который я запускаю с MSBuild:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Compile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion ="3.5">
<PropertyGroup>
    <BuildDir Condition=" '$(BuildDir)'==' ' ">$(BaseDir)/build</BuildDir>
    <ProdDir >$(BuildDir)/prod</ProdDir>
    <TestDir>$(BuildDir)/test</TestDir>
    <MMC2SourceDir>SteuerungsZugriffTest/mmc2</MMC2SourceDir>
    <UserSourceDir>SteuerungsZugriffTest/user</UserSourceDir>
    <TestXMLDir>$(BuildDir)/test-results</TestXMLDir>
    <SolutionFile Condition=" '$(SolutionFile)'==' ' ">HMI2.0.sln</SolutionFile>"
    <NUnitTest>nunit-console.exe</NUnitTest>
</PropertyGroup>
<Target Name="Prepare">
    <Message Text="Prepare everything" />
    <MakeDir Directories="$(BuildDir)" />
    <MakeDir Directories="$(ProdDir)" />
</Target>
...

Когда я сейчас запускаю скрипт в командной строке:

D:\MyDir>msbuild /property:BaseDir=D:\MyDir MyScript.build

Я получил следующую ошибкувывод командной строки:

D:\MyDir>MyScript.build(11,78): error MSB4067: Das <#text>-Element unterhalb des <PropertyGroup>-Elements ist unbekannt.

Что в основном означает: Элемент <#text> является неизвестным потомком .

У кого-нибудь есть идея?

Редактировать: Извините, я выполнил сценарий

1 Ответ

4 голосов
/ 19 января 2010

У вас есть лишние "в конце этой строки

<SolutionFile Condition=" '$(SolutionFile)'==' ' ">HMI2.0.sln</SolutionFile>"

Он находится вне тега, поэтому считается текстовым элементом ...

...