5

Tengo una solución que consta de 3 proyectos. Creé un proyecto de implementación que solo incluye las dependencias de uno de los proyectos de mi solución.¿Cómo incluir dependencias en el proyecto de instalación y despliegue?

Lo que he hecho hasta ahora es en mi proyecto de Instalación y Despliegue, hice clic derecho en "Carpeta de la aplicación" para Agregar -> Proyecto de salida. Luego seleccioné mi proyecto principal de un menú desplegable y seleccioné "Salida primaria". Hice clic en Aceptar y las dependencias de ese proyecto se incluyeron con éxito en la implementación.

Traté de repetir el mismo proceso para las otras DLL en mi solución, pero no incluía sus dependencias.

¿Cómo incluyo todas las dependencias para cada proyecto?

Respuesta

0

Tenga en cuenta que las dependencias detectadas por un proyecto de instalación de Visual Studio son más como sugerencias. No debe confiar demasiado en ellos, ya que los falsos positivos son muy comunes.

Para un instalador profesional, debe determinar las dependencias correctas usted mismo y agregarlas en su proyecto en la forma adecuada. Por ejemplo, algunas de las dependencias pueden ser parte de un runtime o framework que se puede agregar como un requisito previo para su instalador.

Si no puede averiguar qué dependencias tiene su aplicación, puede intentar usar un dependency walker.

0

La capacidad de caminar de la dependencia de los proyectos VS Setup es bastante fuerte y realmente es un gran lugar de acceso para la comprobación de dependencia directa y el empaquetado binario del producto. Con la verbosidad de compilación aumentada, permite el análisis directo de la versión de cada DLL a la que se hace referencia para que tenga la información que necesita para actualizar las referencias de compilación. Desafortunadamente, la información de la versión se procesa en las dependencias y el proyecto de instalación puede no recoger cosas si no encuentra una versión adecuada disponible en las rutas de búsqueda.

Con respecto a los falsos positivos, mi experiencia es que traerá cualquier referencia binaria, independientemente de si hay una ruta de código real en ese árbol. Una solución a ese problema es refactorizar su código (granularice los proyectos un poco mejor).

Si no utiliza referencias directas de proyectos, los proyectos de configuración no incluirán esas dependencias. ¿Es ese el problema que te encuentras? De lo contrario, aumentaría la verbosidad del registro y buscaría las referencias que está esperando. Debería decir qué versión está buscando y dónde buscó y por qué no atrapó nada.

Cuestiones relacionadas