Puis-je utiliser un code contrat de réécriture sans installation de VS de CI, de construire
serveur (TeamCity)?
Oui. Installer CodeContracts sur le serveur de build. (Si elle refuse de l'installer sur une machine sans Visual Studio, il suffit de copier les fichiers répertoriés ci-dessous, et leurs dépendances, sur le serveur de build.) Une fois installé, vous trouverez les CodeContract tools est installé dans le répertoire %programfiles%\Microsoft\Contrats\Bin. Dans ce répertoire, il y a 4 fichiers exécutables que vous serez intéressé par:
ccrewrite.exe - Le binaire graveur. Ce doit être exécutée après la compilation. Il transforme vos contrats en exécution des contrôles ou ce que vous spécifiez que vous voulez transformé en.
ccrefgen.exe - Cela peut générer de référence du contrat assemblées à côté de vos assemblées. Ceci est utile si vous êtes d'expédition dll à être consommés par d'autres parties.
cccheck.exe - La vérification statique. Sur le serveur de build, vous feriez exécuter cet outil sur votre assemblages contenant des contrats, et il va cracher les avertissements et les messages qu'il rencontre des problèmes potentiels.
ccdocgen.exe - Cela génère de la documentation XML à partir de l'contrats dans votre code. Vous pouvez utiliser cette option si vous expédiez des dll avec des contrats à la consommation par d'autres parties, ou si vous avez juste besoin interne docs sur votre code.
Est-il msbuild tâches à exécuter le Contrat de vérification?
Oui. Il y a 2 MSBuild tâches d'expédition avec CodeContracts: dans le même CodeContracts répertoire d'installation, consultez le MSBuild\[version] dossier. Dans ce répertoire, il y a 2 fichiers qui devraient vous aider: Microsoft.CodeContracts.objectifs et Microsoft.CodeContractAnalysis.les cibles.
Selon le CodeContracts de la documentation,
Un script msbuild extension de Microsoft
.Contrat. les cibles contient le supplément
construire des actions pour l'exécution du contrat
instrumentation statique et de vérification
les étapes. Comme un résultat de cette approche,
il est possible d'utiliser le même
la fonctionnalité lors de la construction de la
ligne de commande avec la commande msbuild.
À l'aide de msbuild sur un projet ou une solution
qui utilise des contrats activé via le VS
interface utilisateur aura la même
les actions que le construire
en vertu de VS.
Comme vous pouvez le voir, il est possible et prise en charge d'intégrer les outils CI construit par les cibles MSBuild.
Utilisez-vous des Contrat de Code de validation CI s'appuie?
En supposant que vous voulez dire la vérification statique avec des avertissements ou des messages, ce que j'ai fait personnellement, mais je n'ai pas fait ça sur un gros projet.
J'espère que cela aide!
Astuce chapeau de Jon Skeet du C# Dans la Profondeur du livre pour l'explication des outils de ligne de commande.