Estoy construyendo una DLL Class Library de .NET que depende de otras bibliotecas como log4net.dll. ¿Dónde debo colocar estos archivos DLL al empacar mi DLL? ¿Hay alguna manera de incluirlos automáticamente dentro de una super-DLL? ¿Debo enviar todos los archivos DLL en una sola carpeta bin?¿Cómo/dónde envío bibliotecas de terceros con una DLL .NET?
Respuesta
Simplemente envíelos todos en un directorio con su dll (suponiendo que esté hablando de una distribución binaria; en una distribución fuente, tendría un directorio "lib" que contiene sus dependencias).
No se olvide de comprobar si es o no es necesario proporcionar también licencias, instrucciones para obtener el código fuente, etc.
yo no estaría tentado a tratar de combinar la biblioteca de clases con las dependencias, en lo personal.
en su árbol de soluciones, tienen una carpeta llamada 'src' para todo el código fuente de Yoru y otra llamada 'lib' para bibliotecas como log4net, su biblioteca dll casera y cualquier otra biblioteca.
Debe verificar primero el EULA y otras licencias adjuntas a esas otras DLL. Algunos pueden restringir cómo se redistribuyen sus bibliotecas DLL. Suponiendo que no hay problemas con eso, puede compilarlos todos juntos como una gran DLL, o crear un instalador (o un simple archivo zip) que instalará todas las DLL asociadas en su destino previsto.
Deberías echar un vistazo a ILMerge. He vinculado un blog que muestra un uso de ILMerge
Leveraging ILMerge to simplify deployment and your users experience
No sabe cómo se va a implementar su solución, pero no se olvide que para firmar sus bibliotecas de clases que usted necesita tener su 3ra party .dlls firmado. Esto solo puede requerir que combine todas sus referencias.
- 1. vinculando bibliotecas de terceros
- 2. macdeployqt y bibliotecas de terceros
- 3. bibliotecas de terceros en CMake
- 4. ¿Dónde debería colocar bibliotecas de terceros?
- 5. "Buscar usos" en bibliotecas de terceros
- 6. ¿Hay una lista de bibliotecas de Python 3 de terceros?
- 7. La vinculación con bibliotecas CUDA de terceros ralentiza cudaMalloc
- 8. Ejecutar mi archivo DLL de terceros con PowerShell
- 9. usando ILMerge con .NET 4 bibliotecas
- 10. Utilizando bibliotecas Java de terceros, como com.jcraft.jsch, con clojure
- 11. Cómo empaquetar C++ con DLL y bibliotecas
- 12. ¿Cómo agregar bibliotecas de terceros a MinGW?
- 13. ¿Cómo usar 2 bibliotecas .NET de terceros cuando entran en conflicto sus dependencias no administradas?
- 14. Depuración de una DLL de terceros en Visual Studio?
- 15. ofuscación de .NET exe/dll
- 16. .NET - ¿Cómo depurar una DLL?
- 17. ¿Puede una DLL llamar a una DLL .NET?
- 18. Ubicación de Dll de terceros en el control de versiones para el proyecto .NET
- 19. Prueba de envoltorios inteligentes para bibliotecas de terceros
- 20. El equivalente .NET de bibliotecas estáticas?
- 21. ¿Debería incluir bibliotecas de terceros que adopte en su proyecto?
- 22. bibliotecas nativas múltiples (mi y de terceros) en Android NDK
- 23. Cómo vincular bibliotecas de terceros correctamente en iOS
- 24. El uso de bibliotecas estándar .Net con VBA
- 25. ¿Cómo usar las bibliotecas de terceros en glassfish?
- 26. Bibliotecas estáticas, bibliotecas dinámicas, DLL, puntos de entrada, encabezados ... ¿cómo salir de esto con vida?
- 27. .NET dll de referencia desde otra ubicación
- 28. Bibliotecas SFTP para .NET
- 29. Evite copiar DLL de terceros en la carpeta de depuración
- 30. Programa de bloqueo de dll de terceros sin excepción lanzada
De hecho hice lo que dijiste que no hiciera en tu última declaración allí. Hice mi proyecto muy complicado y confuso mirando con esa fuente adicional. Entonces, simplemente los desunifiqué. :) – Zack