Importando DLLs Dependientes en un Script de PowerShell
Declaración del problema:
La forma óptima de importar DLL dependientes en un script de PowerShell.
Explicación:
Tengo una DLL, llamada a.dll, que tiene casi 10 dependencias en b.dll, c.dll,…. Cuando importo a.dll desde el paquete Nuget A en un script de PowerShell, dado que las DLL dependientes no se encuentran en el mismo directorio, se produce un error. Solo tengo las DLLs en los paquetes Nuget. Los paquetes, como es habitual, estarán en la siguiente estructura:
├── Nuget-A
│ ├── 1.0
| | |── a.dll
│
├── Nuget-B
│ ├── 2.0
| | |── b.dll
En el script de PowerShell importaré a.dll de la siguiente manera:
Import-Module “Nuget-A/1.0/a.dll”
Esto me produce un error, por lo que hago lo siguiente:
Import-Module “Nuget-B/2.0/b.dll”
Import-Module “Nuget-A/1.0/a.dll”
De la misma manera, tengo que hacerlo para las 10 DLLs.
¿Cuál es la forma óptima de manejar este escenario? También estoy abierto a otras enfoques alternativos.
davy.ai
Solución:
Hay varias formas de manejar este escenario:
Y aquí hay un ejemplo de cómo podría leer este archivo de configuración en PowerShell:
Y aquí hay un ejemplo de cómo podría instalar un paquete en este repositorio:
Con esta configuración, puede importar fácilmente las DLL dependientes en su script de PowerShell de la siguiente manera:
Con las DLL dependientes agregadas al GAC, puede importarlas fácilmente en su script de PowerShell de la siguiente manera:
En general, el enfoque más adecuado depende de su escenario y requisitos específicos. Considere factores como la facilidad de administración, la seguridad y la escalabilidad al elegir un enfoque.