2010-01-19 73 views
2

我有以下生成腳本,我用的MSBuild運行:如何將自定義屬性添加爲MSBuild中的PropertyGroup的子項?

<?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>是一個未知子

有沒有人有想法?

編輯:對不起,我現在完成了劇本

+0

看起來乍看起來 - 錯誤是在第11行字符78,我認爲你沒有包括在內。你能發佈更多的腳本嗎? – GraemeF 2010-01-19 07:16:10

回答

4

你有一個額外的「在這一行

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

它是一個標籤之外的結束,因此它被認爲是一個文本元素。 ..

+0

謝謝!問題解決了! – WaltiD 2010-01-19 08:00:10

相關問題