2009-06-18 6 views
0

Je configure un serveur de construction en utilisant NAnt (et CruiseControl.NET) et j'écris actuellement le fichier de construction pour tous les assemblages (tous deux dans VB.NET/C#) dans l'application.
Malheureusement, lorsque la plupart des projets sont compilés, NAnt signale plusieurs avertissements qui arrêtent le processus de construction. Comme je sais que ces mises en garde sont presque irréalistes (la grande majorité de cet avertissement provient de code commeIgnorer l'avertissement NAnt

If object Is Nothing 

qui génère un avertissement comme « Une exception référence nulle POURRAIENT résultat lors de l'exécution », Emphasys est à moi, bien sûr) Je voudrais faire NAnt juste les montrer sans arrêter le processus de construction.
Merci à l'avance à tous ceux qui vous aidera

Répondre

1

CSC et MsBuild ont des paramètres à spécifier pour traiter les avertissements comme des erreurs - vous devriez vérifier que ceux-ci sont mis à faux:

<property name="build.warnaserrors" value="false" /> 

MsBuild

<exec program="path/to/MSBuild.exe" workingdir="path/to/dir"> 
    <arg value="/p:TreatWarningsAsErrors=${build.warnaserrors}" /> 
    ....other args 
</exec> 

CSC

<csc warnaserror="${warnaserrors}" 
    ...other args 
></csc> 
+0

Peut-être que le nom de la propriété est mal orthographié entre l'exemple de propriété ("warnmissingdocs") et les MsBuild/Csc ("warnaserrors")? En tout cas cela a fonctionné, merci! –

+0

Vous avez raison, j'ai mal orthographié les propriétés. J'ai édité mon post pour le réparer! –

1

Si vous utilisez la tâche exec pour exécuter le changement devenv.exe à exécuter devenv.com, cela devrait imprimer des avertissements à stdout (je pense qu'il est stdout, peut-être stderr) mais les avertissements ne devraient pas arrêter la construction. En outre, assurez-vous que les paramètres de votre projet Visual Studio ne traitent pas les avertissements comme des erreurs.

+0

I omis de le mentionner, mais j'utilisais en fait la tâche qui semble avoir quelques problèmes en particulier lorsqu'il est utilisé pour co mpile v.1.1 projets. –