none
Asignar ruta para dlls RRS feed

  • Pregunta

  • Hola,

    Hay alguna manera en Visual Studio 2017 de indicar que los archivos dll de librerías externas  al compilar, en lugar que se generen en la raíz de la aplicación (Debug\itextshap.dll), se generen en una ruta específica ( Debug\libs\itextsharp.dll.)

    Gracias y saludos.

    martes, 7 de abril de 2020 11:56

Respuestas

  • Hola,

    He conseguido solucionar la consulta que propuse pongo la solución por si le sirve a alguien:

    En el archivo de APP.config añadir:( la carpeta lib tiene que estar creada).

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <probing privatePath="lib" />
        </assemblyBinding>
      </runtime>
    </configuration>

    En propiedades del proyecto en la sección de Eventos de compilación, en post event comand escribir:
    ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " /XF *.exe *.config *.manifest /XD lib logs data /E /IS /MOVE
    if %errorlevel% leq 4 exit 0 else exit %errorlevel%

    XF: para no mover los archivos *.exe, *.config o *.manifest
    XD: para no mover las carpetas lib, logs y subcarpetas)

    A mi me ha funcionado pero si hay alguna manera mejor de realizar este proceso...

    Gracias y saludos

    • Marcado como respuesta McTinez viernes, 17 de abril de 2020 10:30
    viernes, 17 de abril de 2020 10:30

Todas las respuestas

  • Deleted
    martes, 7 de abril de 2020 12:30
  • hola

    Si usas la opcion de Post Build Events podrias hacer un COPY de la dll a la carpeta que necesites

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 7 de abril de 2020 12:32
  • Hola Leandro

    Con esta configuración la dependencia del programa con la librería, seguirá siendo la misma o cambiará a la nueva indicada en la configuración.

    ¿Al comando copy que indicas es el mismo que el de DOS?

    Gracias y saludos.

    miércoles, 8 de abril de 2020 16:48
  • hola

    >>Con esta configuración la dependencia del programa con la librería,

    la dependencia depende de cual uses para generarla

    >>o cambiará a la nueva indicada en la configuración.

    cual configuracion?

    >>¿Al comando copy que indicas es el mismo que el de DOS?

    si, en realidad se usa el xcopy

     Using Build Events in Visual Studio to Make Life Easier

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 8 de abril de 2020 17:55
  • Hola , 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

     

    Espero su respuesta. 

      

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

      

    Oscar Navarro

      

     ____ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.   

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.    

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    jueves, 9 de abril de 2020 13:45
    Moderador
  • Hola Leandro,

    Me refiero que si al distribuir la aplicación, la dll puede estar en la carpeta asignada en el postbuild events o sigue siendo obligatorio que exista en la carpeta raiz de la aplicación.

    Saludos.

    lunes, 13 de abril de 2020 8:34
  • Hola,

    He conseguido solucionar la consulta que propuse pongo la solución por si le sirve a alguien:

    En el archivo de APP.config añadir:( la carpeta lib tiene que estar creada).

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <probing privatePath="lib" />
        </assemblyBinding>
      </runtime>
    </configuration>

    En propiedades del proyecto en la sección de Eventos de compilación, en post event comand escribir:
    ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " /XF *.exe *.config *.manifest /XD lib logs data /E /IS /MOVE
    if %errorlevel% leq 4 exit 0 else exit %errorlevel%

    XF: para no mover los archivos *.exe, *.config o *.manifest
    XD: para no mover las carpetas lib, logs y subcarpetas)

    A mi me ha funcionado pero si hay alguna manera mejor de realizar este proceso...

    Gracias y saludos

    • Marcado como respuesta McTinez viernes, 17 de abril de 2020 10:30
    viernes, 17 de abril de 2020 10:30