SixDark
Erfahrenes Mitglied
Hi @all!
Ich habe ein Problem mit NAnt. Und zwar versuche ich seit Tagen meine Solution zu builden. Leider funktioniert ja NAnt nicht mit 2005er Solution-Files. Also habe ich es so geschrieben, dass die CS-Files einzeln gebuildet werden. Ein Hauptfile, welches die 4 Build-Files (es hat 4 Projekte in einer Solution) für die Projekte der Reihe nach aufruft. Am Ende erscheint auch das ersehnte "BUILD SUCCEEDED", aber weit gefehlt, denn wenn ich mein Windows-Test-Programm aufrufe, dann bekomme ich einen Fehler (nur zur Info: die Anwendung besteht aus einem Interface, einer Implementation dazu, einem Windows-Dienst und einer WinForms-Testanwendung). Wenn ich das Ganze mit dem Studio builde, dann funktioniert es wunderbar. Wer kann mir sagen, was ich da falsch mache. Hier mal die Build-Files:
Ich weiß, das ist etwas viel auf einmal, aber ich hab schon alles ausprobiert - ich weiß nicht mehr weiter...
Auf Arbeit habe ich mittlerweile 6 komplette Solutions (teilweise mit mehr als 10 Projekten drin), die laufen über CruiseControl und NAnt super, aber bei meiner hier zu Hause will das nicht klappen...
Ich hoffe Ihr könnt mir helfen.
Vielen vielen Dank schon mal...
MfG
..::SD::..
Ich habe ein Problem mit NAnt. Und zwar versuche ich seit Tagen meine Solution zu builden. Leider funktioniert ja NAnt nicht mit 2005er Solution-Files. Also habe ich es so geschrieben, dass die CS-Files einzeln gebuildet werden. Ein Hauptfile, welches die 4 Build-Files (es hat 4 Projekte in einer Solution) für die Projekte der Reihe nach aufruft. Am Ende erscheint auch das ersehnte "BUILD SUCCEEDED", aber weit gefehlt, denn wenn ich mein Windows-Test-Programm aufrufe, dann bekomme ich einen Fehler (nur zur Info: die Anwendung besteht aus einem Interface, einer Implementation dazu, einem Windows-Dienst und einer WinForms-Testanwendung). Wenn ich das Ganze mit dem Studio builde, dann funktioniert es wunderbar. Wer kann mir sagen, was ich da falsch mache. Hier mal die Build-Files:
Code:
<project name="ServerFunctions" default="build" basedir=".">
<description>ServerFunctions.</description>
<property name="debug" value="true" overwrite="false" />
<target name="clean" description="remove all generated files">
<delete file="bin/Debug/*.dll" failonerror="false" />
<delete file="bin/Debug/*.pdb" failonerror="false" />
</target>
<vssget
username="Six Dark"
password=""
localpath="F:\Projekte\VisualC#\2005\ShiftData.ResourceChecker.Service\ServerFunctions"
recursive="true"
replace="true"
writable="true"
dbpath="F:\VSS_Safe\srcsafe.ini"
path="$/ServerFunctions"
/>
<target name="build" description="compiles the source code">
<csc target="library" output="bin/Debug/ServerFunctions.dll" debug="${debug}">
<sources>
<include name="ServerFunctions.cs" />
<include name="../ShiftData.ResourceChecker.Interfaces/IServerFunctions.cs" />
</sources>
<references>
<include name="System.dll" />
<include name="System.Data.dll" />
<include name="System.Management.dll" />
<include name="System.Runtime.Remoting.dll" />
<include name="System.Xml.dll" />
<include name="ShiftData.ResourceChecker.Interfaces.dll" />
</references>
</csc>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ServerFunctions/bin/Debug/ServerFunctions.dll"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service.Test/bin/Debug/"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ServerFunctions/bin/Debug/ServerFunctions.pdb"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service.Test/bin/Debug/"
failonerror="false"
verbose="true"
overwrite="true"
/>
</target>
</project>
Code:
<project name="IServerFunctions" default="build" basedir=".">
<description>IServerFunctions.</description>
<property name="debug" value="true" overwrite="false" />
<target name="clean" description="remove all generated files">
<delete file="bin/Debug/*.dll" failonerror="false" />
<delete file="bin/Debug/*.pdb" failonerror="false" />
</target>
<vssget
username="Six Dark"
password=""
localpath="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces"
recursive="true"
replace="true"
writable="true"
dbpath="F:\VSS_Safe\srcsafe.ini"
path="$/ShiftData.ResourceChecker.Interfaces"
/>
<target name="build" description="compiles the source code">
<csc target="library" output="bin/Debug/ShiftData.ResourceChecker.Interfaces.dll" debug="${debug}">
<sources>
<include name="**/*.cs" />
</sources>
<references>
<include name="System.dll" />
<include name="System.Data.dll" />
<include name="System.Xml.dll" />
</references>
</csc>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.dll"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ServerFunctions/bin/Debug/"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.pdb"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ServerFunctions/bin/Debug/"
failonerror="false"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.dll"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service/bin/Debug/"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.pdb"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service/bin/Debug/"
failonerror="false"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.dll"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service.Test/bin/Debug/"
verbose="true"
overwrite="true"
/>
<copy
file="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Interfaces/bin/Debug/ShiftData.ResourceChecker.Interfaces.pdb"
todir="F:/Projekte/VisualC#/2005/ShiftData.ResourceChecker.Service/ShiftData.ResourceChecker.Service.Test/bin/Debug/"
failonerror="false"
verbose="true"
overwrite="true"
/>
</target>
</project>
Code:
<project name="ShiftDataResourceChecker.Service.Test" default="build" basedir=".">
<property name="basename" value="ShiftData.ResourceChecker.Service" />
<property name="debug" value="true" />
<property name="build1.dir" value ="bin" />
<property name="build.dir" value="bin/Debug" />
<target name="clean" description="cleans build directory">
<delete dir="${build1.dir}" verbose="true" if="${directory::exists(build1.dir)}" />
<delete dir="${build.dir}" verbose="true" if="${directory::exists(build.dir)}" />
</target>
<target name="debug" depends="clean">
<property name="debug" value="true" />
</target>
<target name="release" depends="clean">
<property name="debug" value="false" />
</target>
<target name="build">
<mkdir dir="${build.dir}"/>
<csc target="exe" output="${build.dir}/${basename}.exe" debug="${debug}">
<sources>
<include name="**/*.cs" />
<include name="../ShiftData.ResourceChecker.Interfaces/IServerFunctions.cs" />
<include name="../ServerFunctions/ServerFunctions.cs" />
</sources>
<references>
<include name="System.dll" />
<include name="System.Data.dll" />
<include name="System.Configuration.Install.dll" />
<include name="System.Runtime.Remoting.dll" />
<include name="System.Xml.dll" />
<include name="System.ServiceProcess.dll" />
<include name="ShiftData.ResourceChecker.Interfaces.dll" />
<include name="ServerFunctions.dll" />
</references>
</csc>
</target>
</project>
Code:
<project name="ShiftDataResourceChecker.Service.Test" default="build">
<property name="basename" value="ShiftData.ResourceChecker.Service.Test"/>
<property name="debug" value="true"/>
<property name="build.dir" value="bin/Debug"/>
<target name="clean" description="cleans build directory">
<delete dir="${build.dir}" verbose="true" if="${directory::exists(build.dir)}" />
</target>
<target name="debug" depends="clean">
<property name="debug" value="true" />
</target>
<target name="release" depends="clean">
<property name="debug" value="false" />
</target>
<target name="build">
<mkdir dir="${build.dir}"/>
<csc target="winexe" output="${build.dir}/${basename}.exe" debug="${debug}"
main="ShiftData.ResourceChecker.Service.Test.Program">
<sources>
<include name="**/*.cs" />
<include name="../ShiftData.ResourceChecker.Interfaces/IServerFunctions.cs" />
</sources>
<references>
<include name="System.dll" />
<include name="System.Deployment.dll" />
<include name="System.Data.dll" />
<include name="System.Drawing.dll" />
<include name="System.Windows.Forms.dll" />
<include name="System.Runtime.Remoting.dll" />
<include name="System.Xml.dll" />
<include name="ShiftData.ResourceChecker.Interfaces.dll" />
</references>
</csc>
</target>
</project>
Ich weiß, das ist etwas viel auf einmal, aber ich hab schon alles ausprobiert - ich weiß nicht mehr weiter...
Auf Arbeit habe ich mittlerweile 6 komplette Solutions (teilweise mit mehr als 10 Projekten drin), die laufen über CruiseControl und NAnt super, aber bei meiner hier zu Hause will das nicht klappen...
Ich hoffe Ihr könnt mir helfen.
Vielen vielen Dank schon mal...
MfG
..::SD::..