2010-04-13 9 views
4

Donc voici le problème. J'écris des assemblages de plug-in StyleCop pour l'entreprise pour laquelle je travaille. En tant que tels, ces assemblys doivent référencer Microsoft.StyleCop.CSharp.dll par exemple, qui est fortement nommé. Le problème vient du fait que si je construis cela et que je le passe aux développeurs de mon groupe, ils doivent avoir la même version de la DLL StyleCop (actuellement 4.3.3.0) ou ne peuvent pas charger.Besoin d'un assemblage C# pour faire référence à un assemblage fortement nommé

Quelle est la meilleure façon de rendre mes DLL de règles complémentaires plus indépendantes? Devrais-je simplement installer ma version 4.3.3.0 de ces DLL StyleCop subordonnées dans le GAC? Un assembly (vs une application) peut-il utiliser un fichier de stratégie? Oh, et l'un des principaux problèmes est que je voudrais travailler avec n'importe quelle version de StyleCop que le client a installé (ou au moins 4.3.3.0 ou plus tard) si possible.

Merci beaucoup à l'avance.

Répondre

5

Oui, vous devriez simplement installer la même version pour les autres développeurs. Si vous ne le faites pas, vous risquez d'avoir des échecs d'exécution imprévisibles en raison de modifications apportées à StyleCop. Vraisemblablement c'est pourquoi ils ont pris la peine d'incrémenter le numéro de version. Si vous ne voulez pas faire cela, vous pouvez configurer une liaison d'assembly différente dans le fichier app.config. Dans la configuration, le numéro de version réel que vous avez l'intention d'utiliser lors de l'exécution est nécessaire. Et oui, cela peut même être fait via la politique. Mais encore une fois, je pense que vous êtes mieux servi en incluant la DLL correcte en premier lieu.

+0

Oui, le problème est là aussi. Si j'installe les DLL que je référence dans le GAC, il casse StyleCop car apparemment StyleCop commence à chercher ses autres dépendances là ou quelque chose. Impair. Donc, je pense que je suis obligé de contraindre les utilisateurs à StyleCop 4.3.3.0 et de sortir une nouvelle version quand StyleCop monte une version. –

1

Dans votre projet, accédez aux propriétés de la référence StyleCop. Essayez de définir la propriété "Version spécifique" sur false.

+0

Cela affecte uniquement la liaison de temps de compilation. –

Questions connexes