Soy nuevo en C# .NET. Estoy escribiendo un método donde tengo que llamar y ejecutar un archivo DLL, donde el nombre del archivo DLL viene de una cadena variablede un método C#, cómo llamar y ejecutar una DLL, donde el nombre de la DLL proviene de una variable String?
String[] spl;
String DLLfile = spl[0];
¿Cómo puedo importar este archivo DLL y llamar a una función de la DLL para obtener el valor de retorno? Probé el de la siguiente manera ..
String DLLfile = "MyDLL.dll";
[DllImport(DLLfile, CallingConvention = CallingConvention.StdCall)]
pero no trabajado, como la cadena debe estar en el tipo 'const string' y 'const string' no soporta variables. Por favor, ayúdenme con el procedimiento detallado. Gracias.
¿Hay alguna razón para que el nombre de la dll deba estar contenido en una cadena? Esto parece peligroso con muy pocas razones legítimas para hacer esto. –
¿Es el dll otro ensamblado de .NET? o tal vez un C++ dll? o incluso un dll COM ?. – Jamiec
@Ramhound La razón para hacerlo es para que pueda especificar la ruta completa a la DLL. De lo contrario, depende de la orden de búsqueda de la biblioteca. Que es peligroso ¡Especificar la ruta completa es el enfoque que evita el peligro! –