.net - pensamiento - lecturas revista ethos gubernamental
Dependencias y referencias: ¿a qué debería hacer referencia exactamente? (3)
Me pregunto qué incluir al construir mi proyecto. Tengo una biblioteca que necesito referenciar para que mi proyecto se construya, pero esa biblioteca tiene 10 dependencias. ¿Debo referirme también a esas dependencias o debería copiarlas al directorio de salida usando un evento post build?
cual es la mejor practica?
Me resulta confuso incluir todas esas dependencias, ya que el proyecto compila bien sin ellas. ¿Se les llama entonces dependencias de tiempo de ejecución? Mis referencias se llenan de dependencias irrelevantes para mi proyecto a pesar de que se usan en alguna biblioteca que estoy incluyendo.
Estoy usando Visual Studio.
¿Puede alguien darme una idea de cómo hacer esto bien?
Gracias.
Es solo opinión. De cualquier manera, funcionará.
Personalmente, odio los archivos BAT posteriores a la compilación, por lo que incluiría las dependencias para que se copien en el directorio de salida.
Otra opción es ponerles un enlace en su proyecto, como en un directorio de recursos. Establecer esto como BuildAction = None y CopyToOutputDirectory = CopyIfNewer
Supongo que estás trabajando en Visual Studio.
La respuesta breve es incluir solo los ensamblajes necesarios para la compilación de su proyecto.
Hacer referencia a más ensamblados no debería causar ningún problema, ya que su aplicación cargará ensamblajes cuando sea necesario en tiempo de ejecución, pero tener una larga lista de referencias puede volverse confuso y complicado.
Su lista de referencias debe informar sobre lo que hace su programa y las funciones que utiliza.
Solo necesita agregar referencias que usa directamente su proyecto.
Para ensamblados privados (aquellos que no están en el GAC) Visual Studio, de forma predeterminada, copiará los ensamblados referenciados (y sus dependencias) en el directorio de salida de su proyecto.
Para ensamblados en el GAC, Visual Studio no copia el ensamblado al que se hace referencia en el directorio de salida de su proyecto de forma predeterminada.
En ambos casos, puede cambiar el comportamiento cambiando la propiedad de referencia "Copiar local".
En mi humilde opinión, es una característica ingeniosa del entorno de construcción. En el mundo no administrado, depende de usted realizar un seguimiento de las dependencias de sus dependencias (generalmente a través de eventos de construcción previos o posteriores).