2010-09-08 15 views
6

Acabo de empezar a utilizar NDepend y estoy tratando de analizar una solución.NDependen - Varios ensamblados .NET tienen el nombre {MyAssembly} pero son diferentes

Esta advertencia aparece cuando agrego asambleas de la solución y no va a cargar los ensamblados con la advertencia:

carga no puede el conjunto {MyAssembly}: Varios ensamblados .NET tienen el nombre {MyAssembly} pero son diferentes: ... lista de los .dlls en el proyecto que contiene este ensamblaje

¿Qué podría estar causando esto? Estoy utilizando un archivo AssemblyInfo.cs común, así como el estándar para establecer algunos atributos comunes, pero no hay conflictos entre estos atributos.

Respuesta

0

Tenía un proyecto en mi solución (el proyecto de pruebas) que no estaba configurado para compilar y hacía referencia a muchos de los otros ensamblajes. Incluso al anular la selección de este ensamblado de NDepende, aún arrojó el error.

2

David, el error es que en el conjunto de carpetas de entrada que proporcionó en su proyecto NDepend, NDepend encontró varias diferentes ocurrencias de {MyAssembly.dll}. Es decir, tiene un archivo {MyAssembly v1.0.1} y un archivo {MyAssembly v1.0.2}.

Aparentemente esto es algo que no conocías, por lo que NDepend hizo un buen trabajo al exhibir un defecto.

En el Proyecto Propiedad> Code to Analyze panel, pase el ensamblaje {MyAssembly} con el mouse. En la información sobre herramientas que aparece, verá varias rutas a diferentes ocurrencias de los diferentes archivos {MyAssembly.dll}.

+0

Gracias Patrick - He revisado los ensamblajes que cree que son diferentes pero todos tienen el mismo número de versión y fueron creados al mismo tiempo. No puedo ver cómo podrían ser diferentes. –

+0

¿Tienen el mismo tamaño exacto? (compare la longitud del bit). En caso afirmativo, póngase en contacto con nosotros en support a-t ndepend dotcom –

+0

Entonces, si desea que su solución sea analizable por ndepend, no puede usar versiones diferentes del mismo ensamblado de terceros en su solución. – fsl

0

He visto esto ocurrir cuando tengo dos versiones de una solución en el mismo directorio padre en mi máquina.

-root 
-- solutiona 
-- solutionb 

Mi proyecto NDepend se adjuntó a la solución en el directorio de la solucióna. Sin embargo, NDepend estaba escaneando comenzando desde la raíz y buscando dlls tanto en solución como en soluciónb. Saqué una copia de la raíz y pude continuar.

Estoy usando NDepend 4.1.0.6871. Este comportamiento puede no ocurrir con lanzamientos más nuevos.

Cuestiones relacionadas