visual-studio crear - ¿Cómo configuro la ruta a un archivo DLL en Visual Studio?




c# 2017 (5)

La ruta de búsqueda que usa el cargador cuando llama a LoadLibrary () se puede modificar utilizando la función SetDllDirectory() . Entonces puede llamar esto y agregar la ruta a su dependencia antes de cargarlo.

Consulte también Orden de búsqueda de DLL .

Desarrollé una aplicación que depende de un archivo DLL. Cuando depuro mi aplicación, la aplicación se quejaría de que:

"Esta aplicación no se pudo iniciar porque no se encontró xxx.dll".

Así que tengo que copiar el archivo DLL en el mismo directorio que mi archivo .vcproj.

¿Hay alguna manera de configurar el proyecto para que busque el archivo DLL en (preferiblemente) alguna ruta relativa o (no preferida) alguna ruta absoluta?

Concepto similar a cómo establecemos include y la ruta de la biblioteca en la configuración del proyecto.

Me refiero a cuando depuro mi aplicación (presionando F5 ) el error anterior aparecería.


Ir a través de las propiedades del proyecto -> Rutas de referencia

A continuación, agregue la carpeta con DLL


  1. Ir a las propiedades del proyecto (Alt + F7)
  2. En Depuración, mira hacia la derecha
  3. Hay un campo de Medio Ambiente.
  4. Agregue su ruta relativa allí (relativa a la carpeta vcproj), es decir ... \ some-framework \ lib agregando PATH=%PATH%;$(ProjectDir)\some-framework\lib o anteponiendo a la ruta PATH=C:\some-framework\lib;%PATH%
  5. Presione F5 (depurar) nuevamente y debería funcionar.

Sé que esta pregunta fue respondida hace años, pero para aquellos que como yo necesitamos cambiar el lugar donde el depurador inicia la aplicación, cambie la propiedad del comando en Propiedades del proyecto -> Depuración.


Incluir todos los archivos DLL a los que se hace referencia desde su proyecto, las referencias en el proyecto del sitio web no siempre es una buena idea, especialmente cuando está utilizando la inyección de dependencia : su proyecto web solo desea agregar una referencia a la interfaz archivo / proyecto DLL, no a cualquier DLL de implementación concreta expediente.

Debido a que si agrega una referencia directamente a un archivo / proyecto DLL de implementación, no puede evitar que su desarrollador llame a un "nuevo" en clases concretas del archivo / proyecto DLL de implementación en lugar de hacerlo a través de la interfaz. También ha indicado un "código" en su sitio web para usar la implementación.





visual-studio visual-c++ dll