ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
3536
3536
EMPFEHLEN
-
18.09.06 20:54 #1
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:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
<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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
<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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
<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::..
-
Ich hab mir deine Files jetzt nicht angesehen, da ich leider dafür im Moment keine Zeit hab (vielleicht etwas später), aber dafür möchte ich etwas in den Raum werfen:
Was spricht dagegen die Builds mit MSBUILD zu machen? Wenn es ohnehin 2005er Solutions sind und bekanntlich NAnt diese nicht unterstützt und VS2005 selbst MSBuild dafür verwendet, würde dies naheliegen. Und im Endeffekt kannst das gleiche abbilden wie unter NAnt auch. Und das funktioniert auch mit CruiseControl.
Just an idea.
-
19.09.06 16:58 #3
Hallo Norbert,
ich werde mir (wie schon einmal) Deinen Rat zu Herzen nehmen und die Sachen mal mit MSBuild ausprobieren. Ich hab grad auf Arbeit überlegt, ob ich es auch mit devenv machen könnte, aber erst probiere ich MSBuild.
Ich werde berichten.
Viele Grüsse
..::SD::..
-
Ja, könntest du auch mit devenv machen (hat entsprechende CommandLine-Parameter, mit denen das funktioniert). Allerdings muss eben Visual Studio installiert sein. MSBuild wäre die unabhängigere Variante.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Command line builds: devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /p rojectconfig name ] ] Available command line switches: /build build the specified solution configuration /project specifies the project to build instead of solution must specify /build to use /project /projectconfig specifies project configuration to build must specify /project to use /projectconfig /out write build output to specified file /rebuild like /build but forces a clean first /clean clean up build outputs /deploy build the specified solution configuration and then deploy it /run run the specified solution configuration /runexit run the specified solution configuration and then terminate /command executes the specified internal command line after startup /mditabs use tabbed documents interface /mdi use MDI interface /fn use specified font name /fs use specified font size /LCID use specified language ID /noVSIP disables VSIP developers license key for VSIP testing /safemode only default environment and services load for stability /resetskippkgs allow VsPackages once flagged for loading failures to load again /migratesettings migrate some user settings from another version Product-specific switches: /debugexe Open the specified executable to be debugged. The remainder of the command line is passed to this executable as its arguments. /useenv Use PATH, INCLUDE, LIBPATH, and LIB environment variables instead of IDE paths for VC++ builds. To attach the debugger from the command line, use: vs7jit.exe -p <pid>
-
29.09.06 13:12 #5
Hallo Norbert,
Endlich bin ich dazu gekommen das Ganze mal umzubauen...
Mit MSBuild funktioniert es super - also bleibt devenv in der Ecke
.
Aber ich muss sagen, die Sache mit NAnt, CruiseControl.NET, MSBuild, NDoc etc. ist heftiger als ich dachte. Eh man CC.NET dazu bringt bestimmte Sachen zu machen, brauchts ewig. Und wenn man Unit-Tests einbinden möchte, die eine Config-Datei benötigen, wirds erst recht haarig. Aber auch das krieg ich irgendwann noch geregelt...
Viele Grüsse und schönes Wochenende!
..::SD::..
-
Hallo!
Hat hier schonmal jemand MSBuild unter CruiseControl zum Laufen bekommen.
Ich versuch' es schon seit einigen Tagen, Versionsverwaltung hab' ich zum Laufen bekommen. Aber beim MsBuild-Task kriege aber immer eine Fehlermeldung:
Code :1 2 3 4 5
Überprüfen Sie Folgendes: 1.) Der angegebene Protokollierungsname entspricht dem Namen der Protokollierungsklasse. 2.) Die Protokollierungsklasse ist "public" und implementiert die Microsoft.Build.Framework.ILogger-Schnittstelle. 3.) Der Pfad der Protokollierungsassembly ist richtig, oder die Protokollierung kann nur mit dem angegebenen Assemblynamen geladen werden. Schalter: ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Programme\CruiseControl.NET\server\ThoughtWorks.CruiseControl.Core.dll;C:\Programme\CruiseControl.NET\server\Dienstplaner\Artifacts\msbuild-results.xml
Ich kann mit der Fehlermeldung leider überhaupt nichts anfangen.
In der letzten .dotnet-Ausgabe war auch ein kurzer Bericht darüber, die haben aber leider auch nur oberflächlich beschrieben, was alles möglich ist.
Ich hoffe, mir kann jemand helfen.
Ähnliche Themen
-
Ant-Build-Skript
Von lona_m im Forum JavaAntworten: 4Letzter Beitrag: 15.01.11, 18:30 -
Could not write build.xml
Von KlaDi im Forum JavaAntworten: 4Letzter Beitrag: 06.03.07, 10:01 -
Verwirrung: Build-Release funktioniert nicht mehr, Debug funktioniert
Von Jobless im Forum JavaAntworten: 1Letzter Beitrag: 15.01.07, 15:58 -
build.xml erkennt Java3D nicht
Von MrOrientierungslos im Forum JavaAntworten: 1Letzter Beitrag: 23.05.06, 10:51 -
/lib/modules/2.4./build , for what
Von Frerk im Forum Linux & UnixAntworten: 1Letzter Beitrag: 15.01.04, 11:19





Zitieren
Login





