2009-09-15 7 views
1

Nous avons une solution C# avec ca. 55 projets, y compris des projets de test.Suppression de la signature de DLL dans Visual Studio avec le script

Étant donné qu'une partie du projet est sharepoint, toutes les DLL sont signées.

Nous souhaitons effectuer des tests unitaires avec couverture de code. Nous obtenons alors le problème que la couverture de code ne peut pas instruire dll signés.

Nous devons donc désinscrire les dll, lancer les tests, puis les annuler. Avec le grand nombre de fichiers de projet, c'est lourd. Question: Est-il possible d'automatiser cela de quelque façon que ce soit? (Pour démissionner, je peux simplement faire une annulation de paiement)

Répondre

2

Oui, c'est facile. Le paramètre de signature de clé est stocké dans le fichier de projet, qui est uniquement XML. Ecrivez le script pour parcourir ce fichier et supprimez le paramètre pour la signature.

  1. paramètre Supprimer XML dans le fichier .csproj qui définit la signature
  2. Recréez le projet (s) à l'aide msbuild
  3. Exécutez vos tests unitaires contre ces DLL reconstruit de.
  4. Parcourez à nouveau le fichier .proj et ajoutez le paramètre.
  5. Recompilez à l'aide de la signature.

Dans le fichier .csproj, vous êtes à la recherche pour les deux lignes suivantes pour supprimer:

<SignAssembly>true</SignAssembly> 
<AssemblyOriginatorKeyFile>MyKey.snk</AssemblyOriginatorKeyFile> 
Questions connexes