Nous avons un certain nombre de projets qui ont des fichiers de construction NAnt que nous pouvons exécuter à partir de fichiers batch. Nous sommes allés dans cette direction afin que nous puissions lier les builds à des hooks de subversion et automatiser l'exécution des tests. Cependant, la sortie de la construction NAnt est significativement différente de celle générée par VS lorsque nous appuyons sur F5.Comment exécuter NAnt build puis déboguer lorsque vous appuyez sur F5 dans VS2005
Nous voudrions pouvoir remplacer le comportement F5 pour effectuer les opérations suivantes:
- exécuter le script NAnt pour construire le projet et les dépendances (le fichier de construction est une configuration de débogage).
- Démarrez le projet à partir du répertoire cible en mode débogage afin que les points d'arrêt puissent être atteints.
Voici un exemple d'un de nos fichiers de construction:
<?xml version='1.0' ?>
<project name='DWS.WI.Data.Common' default='all' xmlns='http://nant.sf.net/schemas/nant.xsd'>
<property name='dbuild.dir' value='build\debug' />
<property name='nant.settings.currentframework' value='net-2.0' />
<property name='debug' value='true' />
<!-- User targets -->
<target name='all' />
<target name='cleandeb' description='remove previous debug build files'>
<delete dir='${dbuild.dir}' if='${directory::exists(dbuild.dir)}' />
</target>
<target name='init'>
<mkdir dir='build' />
<mkdir dir='build\debug' />
<mkdir dir='build\release' />
</target>
<!-- -->
<target name='debug' depends='cleandeb, init' description='Compiles the projects in debug mode'>
<csc target='library' output='build\debug\${project::get-name()}.dll' rebuild='true' debug='true'>
<sources>
<include name='src\app\DWS.WI.Data.Common\*.cs' />
<include name='src\app\DWS.WI.Data.Common\Properties\AssemblyInfo.cs' />
</sources>
</csc>
<csc target='library' output='build\debug\DWS.WI.Data.Oracle.dll' rebuild='true' debug='true'>
<references>
<include name='build\debug\DWS.WI.Data.Common.dll' />
</references>
<sources>
<include name='src\app\DWS.WI.Data.Oracle\*.cs' />
<include name='src\app\DWS.WI.Data.Oracle\Properties\AssemblyInfo.cs' />
</sources>
</csc>
<csc target='library' output='build\debug\DWS.WI.Data.SQL.dll' rebuild='true' debug='true'>
<references>
<include name='build\debug\DWS.WI.Data.Common.dll' />
<include name='libs\Microsoft.SqlServer.ConnectionInfo.dll' />>
<include name='libs\Microsoft.SqlServer.Smo.dll' />
<include name='libs\Microsoft.SqlServer.SqlEnum.dll' />
</references>
<sources>
<include name='src\app\DWS.WI.Data.SQL\*.cs' />
<include name='src\app\DWS.WI.Data.SQL\Properties\AssemblyInfo.cs' />
</sources>
</csc>
</target>
<target name='test' depends='debug'>
<csc target='library' output='build\debug\DWS.WI.Data.Fake.Test.dll' debug='true'>
<sources>
<include name='src\test\DWS.WI.Data.Fake.Test\*.cs' />
</sources>
<references>
<include name='build\debug\DWS.WI.Data.Common.dll' />
<include name='build\debug\DWS.WI.Data.Fake.dll' />
<include name='tools\nunit\nunit.framework.dll' />
</references>
</csc>
</target>
</project>
Etes-vous en train d'essayer de déboguer directement à partir de nant build? Pourquoi ne pas le laisser construire des choses, puis ouvrir la solution et lancer le débogage manuellement? – Eugene
Pour clarifier (heureusement) Nous voulons appuyer sur F5 et demander à l'IDE d'exécuter le code compilé par une compilation NAnt, et de l'exécuter en mode débogage pour pouvoir atteindre les points de rupture et parcourir le code. –
Comment construisez-vous la solution? Avec la tâche ou avec la tâche ? Et quels sont les paramètres? –
Eugene