Bâtiment avec des Contrats de Code?

J'ai la méthode suivante:

private void DoSomething(CoolClass coolClass)
{
    if (coolClass == null)
    {
        throw new ArgumentNullException("coolClass");
    }
    coolClass.Name = "Pepe";
}

Avec des Contrats de Code on peut l'écrire comme ceci:

private void DoSomething(CoolClass coolClass)
{
    Contract.Requires<ArgumentNullException>(coolClass != null, "IS NULLL!");
    coolClass.Name = "Pepe";
}

La deuxième méthode est plus rapide et plus simple. Le problème que j'ai est que lorsque vous construisez, dans l'exécution, il ne jette pas l'exception, elle affiche ceci:

Description: Une assemblée (probablement "CodeContractsTest") doit être réécrite en utilisant les contrats de code binaire graveur (CCRewrite) parce que c'est l'appel de Contrat.Et les CONTRACTS_FULL symbole est défini. Supprimer tout des définitions explicites de la CONTRACTS_FULL symbole de votre projet et de reconstruction. CCRewrite peut être téléchargé à partir http://go.microsoft.com/fwlink/?LinkID=169180. Après le graveur est installé, il peut être activé dans Visual Studio à partir du projet des Propriétés d'une page sur le Code des Contrats de volet. S'assurer que "Effectuer Exécution Contrat de Vérification" est activée, ce qui permet de définir CONTRACTS_FULL.

À moins que VS vous téléchargez le CodeContracts pour .net de ici.

Et puis vous cochez la case "Exécution cochez la case" dans le projet, de sorte que lorsque vous créez dans l'exécution, l'exception est levée.

Notre application est de construire avec Jenkins avec des scripts PowerShell. Est-il possible de vérifier au moment de l'exécution et jeter l'exception, avec une simple commande ou de l'attribut, ou quelque chose de facile?

OriginalL'auteur elranu | 2013-09-13