Pregunta

Mi proyecto hace referencia a un conjunto (lo llamaremos X) que hace referencia a otro ensamblado (lo llamaremos Y).

Cuando intento compilar mi proyecto, exige que se debe hacer referencia Y. montaje ¿Por qué es eso? Me sale el siguiente error en la línea donde se hace referencia montaje X:

  

El tipo 'DevExpress.XtraEditors.XtraForm' se define en un ensamblaje   que no se hace referencia. Debe agregar una referencia al ensamblaje   'DevExpress.Utils.v9.1, Version = 9.1.2.0, Culture = neutral,   PublicKeyToken = b88d1754d700e49a'.

DevExpress.XtraEditors.XtraForm es el conjunto Y.

¿Por qué es esto? No he visto este comportamiento antes.

¿Fue útil?

Solución

Esto siempre ha estado en el lugar. Sólo tendrá éstos en tiempo de compilación si está utilizando un objeto que se pone métodos / propiedades / etc miembros del conjunto Y.

El por qué es porque .NET no se puede confiar en la X Asamblea para asegurarse de que será capaz de obtener la adecuada símbolo y los metadatos de la información.

Otros consejos

Esto siempre ha sido el comportamiento como la forma más va el compilador construir su proyecto si no tiene una referencia a todas las dependencias?

Se requieren los ensamblados que se hace referencia mediante su proyecto para su aplicación funcione. Si se usan tipos de esas asambleas y sin esos tipos de su aplicación no se puede construir. Más importante aún sin esos tipos de su aplicación no se puede ejecutar.

Ahora consideran que cada asamblea que la referencia fue construido de la misma manera como su montaje y requiere que todos los sus ensamblados de referencia estén presentes y representaron. Esto hace crear una reacción en cadena que puede ser molesto, pero el resultado final es que una vez que se está ejecutando la aplicación, el CLR tiene todas las asambleas que necesita para ejecutar su aplicación.

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