Digamos que tengo dos proyectos A y B. A depende de B. Puedo especificar esto de dos maneras:Diferencia entre las dependencias del proyecto y DLL en .Net en el ensamblado compilado última
- Incluir A y B en la misma solución y especifique B como una dependencia de proyecto para A. Esto aparece en el proyecto msbuild de A como un nodo "ProjectReference".
- incluir una referencia al archivo DLL compilado de la B como la dependencia de A. Esto se muestra en el proyecto msbuild de A como un nodo de "referencia"
Mi pregunta es, una vez que he construir el conjunto de A, se hay una diferencia en el resultado final entre estos dos métodos.
Intenté crear un par de proyectos simples que modelen esta relación e intenté una comparación, pero las diferentes herramientas de comparación me dicen cosas diferentes. A la espera de escribir algo que compare estos archivos byte a byte, me preguntaba si ustedes sabían algo al respecto. Específicamente, ¿habrá alguna diferencia en el comportamiento del ensamblado construido si utilizo la referencia dll en lugar de una referencia de proyecto?
@Timwi - gracias por el establecimiento de la dirección recta dependencia :-) por alguna razón que lo escribí exactamente opuesta a la del ejemplo de la OP –
también añadir a la respuesta, en caso de que el proyecto B dependía digamos C. dll, si B se especifica como una dependencia del proyecto de A, la compilación del proyecto A traerá automáticamente las dependencias del proyecto B (por ejemplo, C.dll). En cambio, si incluye una referencia a la DLL compilada de B, no tendrá C. dll agregado automáticamente a la bandeja de A, en su lugar tendrá que agregar manualmente todas las dependencias de B. –