2017-02-14 3 views
0

Ich benutze TeamCity, um die.Net-Lösung mit Nant-Skript zu erstellen, und alles funktioniert gut, wenn ich den Lösungspfad hart Code. Ich möchte Umgebungsvariablen von TeamCity (env.) Als Lösungspfad verwenden -> env.solution.path ----- C: \ a \ testteamcity \ Demo \ deptest.sln innerhalb der Nant-Skript test.build-Datei :Wie man die Umgebungsvariablen (env.) Von Teamcity im Nant-Skript ausführt

<?xml version="1.0"?> 
<project name ="first Nant file" default="compile-solution" > 
<property name="bin.folder.svn" value="C:\a\testteamcity\Demo\bin123"/> 
<property name="bin.folder.sln" value="C:\cicheckout\webapp\bin"/> 

<target name="compile-solution"> 
    <exec program="C:\Program Files (x86)\MSBuild\12.0\Bin\Msbuild.exe" verbose="true" > 
     <arg line="${environment::get-variable('env.solution.path')}" /> 
     <arg value="/p:Configuration=Release" /> 
    </exec> 

<copy todir="${bin.folder.sln}" overwrite="true" failonerror="true"> 
     <fileset basedir="${bin.folder.svn}">   
     </fileset> 
</copy> 
</target> 
</project> 

Fehler: Unerwarteter Token "Interpunktion". Ausdruck: $ {Umgebung :: get-Variable ('env.solution.path')} Jede mögliche Hilfe great.Thanks sein

+0

Sieht aus wie es als die Anführungszeichen wahrscheinlich so einfach haben Sie verwendet, es sei denn, dass nur eine Kopie Paste Fehler ist - Ihre ' get-variable' -Parameter sollte nur mit einfachen einfachen Anführungszeichen umgeben sein: '$ {environment :: get-variable ('env.solution.path')}' –

+0

Das ist nur Kopieren einfügen Fehler: [15:59:54] [ NAnt-Ausgabe] Ausdruck: $ {environment :: get-variable ('env.solution.path')} [15:59:54] [Nicht ausgegeben] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [15:59:54] [NAnt Ausgabe] Umgebungsvariable "env.solution.path" existiert nicht. –

+0

Beachten Sie, dass Sie jetzt einen anderen Fehler haben. –

Antwort

0

erstellen system.solution.path -> C: \ a \ testteamcity \ demo \ deptest.sln unter Systemeigenschaften (System.) in Teamcity und in Nant Skript ->

<?xml version="1.0"?> 
<project name ="Build-Solution" default="build-solution" > 
<property name="solution.path" value="${system.solution.path}" dynamic="true" unless="${property::exists('solution.path')}"/> 
    <!-- Build solution --> 
<target name="build-solution"> 
<exec program="C:\Program Files (x86)\MSBuild\12.0\Bin\Msbuild.exe" verbose="true" > 
    <arg line="${solution.path}" /> 
    <arg value="/p:Configuration=Release" /> 
</exec> 
</target> 
</project> 
Verwandte Themen