2010-09-08 4 views
6

Je viens de commencer à utiliser NDepend et j'essaie d'analyser une solution.NDepend - Plusieurs assemblages .NET portent le nom {MyAssembly} mais ils sont différents

Cet avertissement apparaît lorsque j'ajoute les assemblées de la solution et il ne se charge pas des assemblages avec l'avertissement:

charge « Cant l'assemblage {MyAssembly}: plusieurs ensembles .NET ont le nom {MyAssembly} mais ils sont différents: ... liste des fichiers .dll dans le projet qui contiennent cet assemblage

Qu'est-ce qui pourrait causer cela? J'utilise un fichier AssemblyInfo.cs commun ainsi que le fichier standard pour définir certains attributs communs, mais il n'y a pas de conflit entre ces attributs.

Répondre

0

J'avais un projet dans ma solution (le projet de tests) qui n'était pas configuré pour construire et référencer beaucoup d'autres assemblages. Même en désélectionnant cet assemblage de NDepend, il a quand même jeté l'erreur.

2

David, l'erreur est que dans l'ensemble des dossiers d'entrée que vous avez fournis dans votre projet NDepend, NDepend trouvé plusieurs différentes occurrences de {MyAssembly.dll}. Cela signifie par exemple que vous avez un fichier {MyAssembly v1.0.1} et un fichier {MyAssembly v1.0.2}.

Apparemment, c'est quelque chose que vous n'étiez pas au courant, donc NDepend a fait du bon travail en présentant un défaut.

Dans le panneau Propriété du projet> Code à analyser, survolez l'assemblage {MyAssembly} à l'aide de la souris. Dans l'info-bulle qui s'affiche, vous verrez plusieurs chemins d'accès à différents occurrences des différents fichiers {MyAssembly.dll}.

+0

Merci Patrick - J'ai regardé les assemblages qui selon lui sont différents mais ils ont tous le même numéro de version et ont été créés en même temps. Je ne peux pas voir comment ils pourraient être différents. –

+0

Ont-ils la même taille exacte? (comparez la longueur du bit). Si oui, contactez-nous au support a-t ndepend dotcom –

+0

Donc, si vous voulez que votre solution soit analysable par ndepend, vous ne pouvez pas utiliser différentes versions du même assembly tiers dans votre solution. – fsl

0

J'ai vu cela se produire lorsque j'ai deux versions d'une solution dans le même répertoire parent sur ma machine.

-root 
-- solutiona 
-- solutionb 

Mon projet NDepend a été joint à la solution dans le répertoire solutiona. Cependant, NDepend balayait en commençant à la racine, et trouvant des dlls dans la solution et la solutionb. J'ai retiré une copie de la racine et j'ai pu continuer. J'utilise NDepend 4.1.0.6871. Ce problème peut ne pas se produire avec les versions plus récentes.

Questions connexes