Pregunta

¿Hay alguna manera de obtener todos los ensamblados necesarios (excluyendo el marco .net) para un proyecto .net en una carpeta lista para ser empaquetada en un nsis como archivo de instalación?

Intenté escribir una pequeña aplicación de consola que usa la reflexión para obtener una lista de archivos DLL, pero no pude encontrar una forma infalible de determinar si un archivo DLL proviene del marco .net o no.

La respuesta podría ser un simple cambio en Visual Studio para generar todas las dependencias, o una aplicación independiente que pueda hacerlo, o un complemento para Nsis, o alguna información sobre reflexión que me he perdido.

¿Fue útil?

Solución

En Visual Studio (al menos 2005, lo que estoy usando ahora), cada referencia que haya asociado a un proyecto tiene una propiedad llamada "Copiar local", esto se puede establecer en verdadero/falso.Cuando sea verdadero, copiará los archivos dll en el directorio de configuración actual.

Otros consejos

Puedes usar NDepende para esto.Descárguelo, cree un nuevo proyecto de NDepend, arrastre y suelte sus ensamblados en la vista de cuadrícula de datos de Ensamblajes de aplicaciones y verá que NDepend resuelve instantáneamente los ensamblados de nivel que necesita su conjunto de Ensamblajes de aplicaciones.

También puede proporcionar una lista de carpetas para indicarle a NDepend dónde buscar.Si no se puede encontrar un ensamblaje de nivel, NDepend lo marcará como no encontrado, lo cual creo que es una información valiosa.

Caminante de dependencia es lo que necesitas.O tal vez Depende.Net

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