Pregunta

Hola gente, Tengo un proyecto de sitio web ASP.NET que por alguna razón se insiste en hacer referencia tanto mscorlib 1.0.5 y 2.0 mscorlib, y no puedo entender por qué.

He analizado todas las DLL que se hace referencia mediante NDepend, y todos ellos aparecen sólo para hacer referencia mscorlib 2.0. Tengo un par de referencias web, pero no puedo imaginar por qué habría que crear una referencia adicional a la DLL 1.0.

Alguien tiene alguna idea por la que estaría recibiendo esta referencia adicional, o lo que se puede utilizar para averiguar esa información? NDepend es grande, pero sólo regresa y dice "encontrado 2 referencias, utilizando la versión más reciente", por lo que no me ayuda a entender por qué tengo la referencia adicional ...

¿Fue útil?

Solución

Creo que en este momento la mejor opción es utilizar ildasm. Usando ildasm en el conjunto hará que aparezca un nodo denominado "Manifiesto". Haga doble clic en ese nodo y se le devolverá la representación de IL referencias de ensamblado incluyendo el número de versión de referencia. Repita este procedimiento para todos los de su DLL hasta que encuentre el que hace referencia a la versión 1.0.

Editar

Otra posible solución sería la de enumerar los valores Assembly y método GetReferencedAssemblies hay asociado. Esto devolverá una matriz de valores AssemblyName que tienen un miembro de versión correspondiente. Esto debería contener la versión actual del conjunto de referencia vs. el que realmente se ha cargado.

No estoy seguro al 100% en esta materia y no tienen una forma conveniente para probarlo en este momento.

Otros consejos

Trate de eliminar la referencia y recompilar -. Que le dirá lo que (si acaso) depende de la versión anterior

Una referencia errante puede residir en su archivo web.config.

La bondad,

Dan

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top